J'arrive à sélectionner via un combobox les données à afficher dans mes textbox.
Le seul problème est que lorsque la base de données ne contient qu'une seule entrée, cela plante.
Je pense que ce la vient de la fin de mon code (je l'ai mis entre des $$) mais ne voit pas comment le modifier.
Private Sub Charger_Les_Données_Dans_Formulaire()
'Déterminer la plage de cellules contenant les données
Dim DerCol As Integer
Dim DerLig As Long
With Feuil5
'Détermine la dernière colonne occupée dans la feuille
DerCol = .Cells.Find(What:="*", _
LookIn:=xlFormulas, _
SearchOrder:=xlByColumns, _
SearchDirection:=xlPrevious).Column
'Détermine la dernière ligne occupée dans la feuille
DerLig = .Cells.Find(What:="*", _
LookIn:=xlFormulas, _
SearchOrder:=xlByRows, _
SearchDirection:=xlPrevious).Row
'Rg une variable objet contenant ta base de donnée
'la plage débute en ligne 2
Set Rg = .Range("A2", .Cells(DerLig, DerCol))
'Renseigner le combobox des Noms et Prénoms de ta base de donnée
With Me.ComboBox1
'largeur des colonnes
.ColumnWidths = "120"
End With
'les données du combobox
$$$ Me.ComboBox1.List = .Range("B2:B" & DerLig).Value $$$$
End With
Me.ComboBox1.SetFocus
End Sub
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
bob1877
bob1877 a écrit le 02/03/2011 à 13h50 :
Bonjour,
J'arrive à sélectionner via un combobox les données à afficher dans mes textbox. Le seul problème est que lorsque la base de données ne contient qu'une seule entrée, cela plante.
Je pense que ce la vient de la fin de mon code (je l'ai mis entre des $$) mais ne voit pas comment le modifier.
Private Sub Charger_Les_Données_Dans_Formulaire()
'Déterminer la plage de cellules contenant les données Dim DerCol As Integer Dim DerLig As Long
With Feuil5
'Détermine la dernière colonne occupée dans la feuille DerCol = .Cells.Find(What:="*", _ LookIn:=xlFormulas, _ SearchOrder:=xlByColumns, _ SearchDirection:=xlPrevious).Column
'Détermine la dernière ligne occupée dans la feuille DerLig = .Cells.Find(What:="*", _ LookIn:=xlFormulas, _ SearchOrder:=xlByRows, _ SearchDirection:=xlPrevious).Row
'Rg une variable objet contenant ta base de donnée 'la plage débute en ligne 2 Set Rg = .Range("A2", .Cells(DerLig, DerCol))
'Renseigner le combobox des Noms et Prénoms de ta base de donnée With Me.ComboBox1 'largeur des colonnes .ColumnWidths = "120" End With 'les données du combobox $$$ Me.ComboBox1.List = .Range("B2:B" & DerLig).Value $$$$ End With Me.ComboBox1.SetFocus End Sub
Re, Je bidouille je bidouille et j'ai trouvé un début de solution. C'est peut etre pas très fin mais cela fonctionne. J'ai rajouté quelques lignes
If Worksheets("Client").Range("C2") = "" Then Worksheets("Client").Range("B2") = "Créer une nouvelle fiche" End If If Worksheets("Client").Range("C3") = "" Then Worksheets("Client").Range("B3") = "Fin" End If
ainsi je suis sur que les 2 premières lignes aient du texte à afficher dans ma combobox.
Après j'ai rajouté dans Private Sub ComboBox1_Change()
If .Value = "Créer une nouvelle fiche" Then Sheets("Employé").Activate UEmploye.Show End If
ainsi j'ouvre directement le formulaire de saisie d'un nouveau client.
bob1877 a écrit le 02/03/2011 à 13h50 :
Bonjour,
J'arrive à sélectionner via un combobox les données
à afficher dans mes textbox.
Le seul problème est que lorsque la base de données ne contient
qu'une seule entrée, cela plante.
Je pense que ce la vient de la fin de mon code (je l'ai mis entre des $$) mais
ne voit pas comment le modifier.
Private Sub Charger_Les_Données_Dans_Formulaire()
'Déterminer la plage de cellules contenant les données
Dim DerCol As Integer
Dim DerLig As Long
With Feuil5
'Détermine la dernière colonne occupée dans la
feuille
DerCol = .Cells.Find(What:="*", _
LookIn:=xlFormulas, _
SearchOrder:=xlByColumns, _
SearchDirection:=xlPrevious).Column
'Détermine la dernière ligne occupée dans la
feuille
DerLig = .Cells.Find(What:="*", _
LookIn:=xlFormulas, _
SearchOrder:=xlByRows, _
SearchDirection:=xlPrevious).Row
'Rg une variable objet contenant ta base de donnée
'la plage débute en ligne 2
Set Rg = .Range("A2", .Cells(DerLig, DerCol))
'Renseigner le combobox des Noms et Prénoms de ta base de
donnée
With Me.ComboBox1
'largeur des colonnes
.ColumnWidths = "120"
End With
'les données du combobox
$$$ Me.ComboBox1.List = .Range("B2:B" & DerLig).Value
$$$$
End With
Me.ComboBox1.SetFocus
End Sub
Re,
Je bidouille je bidouille et j'ai trouvé un début de solution.
C'est peut etre pas très fin mais cela fonctionne.
J'ai rajouté quelques lignes
If Worksheets("Client").Range("C2") = "" Then
Worksheets("Client").Range("B2") = "Créer une nouvelle fiche"
End If
If Worksheets("Client").Range("C3") = "" Then
Worksheets("Client").Range("B3") = "Fin"
End If
ainsi je suis sur que les 2 premières lignes aient du texte à afficher dans ma combobox.
Après j'ai rajouté dans
Private Sub ComboBox1_Change()
If .Value = "Créer une nouvelle fiche" Then
Sheets("Employé").Activate
UEmploye.Show
End If
ainsi j'ouvre directement le formulaire de saisie d'un nouveau client.
J'arrive à sélectionner via un combobox les données à afficher dans mes textbox. Le seul problème est que lorsque la base de données ne contient qu'une seule entrée, cela plante.
Je pense que ce la vient de la fin de mon code (je l'ai mis entre des $$) mais ne voit pas comment le modifier.
Private Sub Charger_Les_Données_Dans_Formulaire()
'Déterminer la plage de cellules contenant les données Dim DerCol As Integer Dim DerLig As Long
With Feuil5
'Détermine la dernière colonne occupée dans la feuille DerCol = .Cells.Find(What:="*", _ LookIn:=xlFormulas, _ SearchOrder:=xlByColumns, _ SearchDirection:=xlPrevious).Column
'Détermine la dernière ligne occupée dans la feuille DerLig = .Cells.Find(What:="*", _ LookIn:=xlFormulas, _ SearchOrder:=xlByRows, _ SearchDirection:=xlPrevious).Row
'Rg une variable objet contenant ta base de donnée 'la plage débute en ligne 2 Set Rg = .Range("A2", .Cells(DerLig, DerCol))
'Renseigner le combobox des Noms et Prénoms de ta base de donnée With Me.ComboBox1 'largeur des colonnes .ColumnWidths = "120" End With 'les données du combobox $$$ Me.ComboBox1.List = .Range("B2:B" & DerLig).Value $$$$ End With Me.ComboBox1.SetFocus End Sub
Re, Je bidouille je bidouille et j'ai trouvé un début de solution. C'est peut etre pas très fin mais cela fonctionne. J'ai rajouté quelques lignes
If Worksheets("Client").Range("C2") = "" Then Worksheets("Client").Range("B2") = "Créer une nouvelle fiche" End If If Worksheets("Client").Range("C3") = "" Then Worksheets("Client").Range("B3") = "Fin" End If
ainsi je suis sur que les 2 premières lignes aient du texte à afficher dans ma combobox.
Après j'ai rajouté dans Private Sub ComboBox1_Change()
If .Value = "Créer une nouvelle fiche" Then Sheets("Employé").Activate UEmploye.Show End If
ainsi j'ouvre directement le formulaire de saisie d'un nouveau client.
isabelle
bonjour bob,
Me.ComboBox1.List = .Range("B2:B" & DerLig).Value
si ComboBox1 ne contient que les données de la colonne B, pourquoi de pas trouver seulement la derniere ligne de cette colonne ?
Set PlgSource = .Range("B2:B" & .Range("B65536").End(xlUp).Row) Me.ComboBox1.List = PlgSource.Value
isabelle
Le 2011-03-02 07:50, bob1877 a écrit :
Bonjour,
J'arrive à sélectionner via un combobox les données à afficher dans mes textbox. Le seul problème est que lorsque la base de données ne contient qu'une seule entrée, cela plante.
Je pense que ce la vient de la fin de mon code (je l'ai mis entre des $$) mais ne voit pas comment le modifier.
Private Sub Charger_Les_Données_Dans_Formulaire()
'Déterminer la plage de cellules contenant les données Dim DerCol As Integer Dim DerLig As Long
With Feuil5
'Détermine la dernière colonne occupée dans la feuille DerCol = .Cells.Find(What:="*", _ LookIn:=xlFormulas, _ SearchOrder:=xlByColumns, _ SearchDirection:=xlPrevious).Column
'Détermine la dernière ligne occupée dans la feuille DerLig = .Cells.Find(What:="*", _ LookIn:=xlFormulas, _ SearchOrder:=xlByRows, _ SearchDirection:=xlPrevious).Row
'Rg une variable objet contenant ta base de donnée 'la plage débute en ligne 2 Set Rg = .Range("A2", .Cells(DerLig, DerCol))
'Renseigner le combobox des Noms et Prénoms de ta base de donnée With Me.ComboBox1 'largeur des colonnes .ColumnWidths = "120" End With 'les données du combobox $$$ Me.ComboBox1.List = .Range("B2:B"& DerLig).Value $$$$ End With Me.ComboBox1.SetFocus End Sub
bonjour bob,
Me.ComboBox1.List = .Range("B2:B" & DerLig).Value
si ComboBox1 ne contient que les données de la colonne B, pourquoi de
pas trouver seulement la derniere ligne de cette colonne ?
Set PlgSource = .Range("B2:B" & .Range("B65536").End(xlUp).Row)
Me.ComboBox1.List = PlgSource.Value
isabelle
Le 2011-03-02 07:50, bob1877 a écrit :
Bonjour,
J'arrive à sélectionner via un combobox les données à afficher dans mes
textbox.
Le seul problème est que lorsque la base de données ne contient qu'une seule
entrée, cela plante.
Je pense que ce la vient de la fin de mon code (je l'ai mis entre des $$) mais
ne voit pas comment le modifier.
Private Sub Charger_Les_Données_Dans_Formulaire()
'Déterminer la plage de cellules contenant les données
Dim DerCol As Integer
Dim DerLig As Long
With Feuil5
'Détermine la dernière colonne occupée dans la feuille
DerCol = .Cells.Find(What:="*", _
LookIn:=xlFormulas, _
SearchOrder:=xlByColumns, _
SearchDirection:=xlPrevious).Column
'Détermine la dernière ligne occupée dans la feuille
DerLig = .Cells.Find(What:="*", _
LookIn:=xlFormulas, _
SearchOrder:=xlByRows, _
SearchDirection:=xlPrevious).Row
'Rg une variable objet contenant ta base de donnée
'la plage débute en ligne 2
Set Rg = .Range("A2", .Cells(DerLig, DerCol))
'Renseigner le combobox des Noms et Prénoms de ta base de donnée
With Me.ComboBox1
'largeur des colonnes
.ColumnWidths = "120"
End With
'les données du combobox
$$$ Me.ComboBox1.List = .Range("B2:B"& DerLig).Value $$$$
End With
Me.ComboBox1.SetFocus
End Sub
si ComboBox1 ne contient que les données de la colonne B, pourquoi de pas trouver seulement la derniere ligne de cette colonne ?
Set PlgSource = .Range("B2:B" & .Range("B65536").End(xlUp).Row) Me.ComboBox1.List = PlgSource.Value
isabelle
Le 2011-03-02 07:50, bob1877 a écrit :
Bonjour,
J'arrive à sélectionner via un combobox les données à afficher dans mes textbox. Le seul problème est que lorsque la base de données ne contient qu'une seule entrée, cela plante.
Je pense que ce la vient de la fin de mon code (je l'ai mis entre des $$) mais ne voit pas comment le modifier.
Private Sub Charger_Les_Données_Dans_Formulaire()
'Déterminer la plage de cellules contenant les données Dim DerCol As Integer Dim DerLig As Long
With Feuil5
'Détermine la dernière colonne occupée dans la feuille DerCol = .Cells.Find(What:="*", _ LookIn:=xlFormulas, _ SearchOrder:=xlByColumns, _ SearchDirection:=xlPrevious).Column
'Détermine la dernière ligne occupée dans la feuille DerLig = .Cells.Find(What:="*", _ LookIn:=xlFormulas, _ SearchOrder:=xlByRows, _ SearchDirection:=xlPrevious).Row
'Rg une variable objet contenant ta base de donnée 'la plage débute en ligne 2 Set Rg = .Range("A2", .Cells(DerLig, DerCol))
'Renseigner le combobox des Noms et Prénoms de ta base de donnée With Me.ComboBox1 'largeur des colonnes .ColumnWidths = "120" End With 'les données du combobox $$$ Me.ComboBox1.List = .Range("B2:B"& DerLig).Value $$$$ End With Me.ComboBox1.SetFocus End Sub
isabelle
ok je comprend mieux, tu pourrais ajouter un à la derniere ligne,
Set PlgSource = .Range("B2:B" & .Range("B65536").End(xlUp).Row + 1) Me .ComboBox1.List = PlgSource.Value
si ComboBox1 ne contient que les données de la colonne B, pourquoi de pas trouver seulement la derniere ligne de cette colonne ?
Set PlgSource = .Range("B2:B" & .Range("B65536").End(xlUp).Row) Me.ComboBox1.List = PlgSource.Value
isabelle
Le 2011-03-02 07:50, bob1877 a écrit :
Bonjour,
J'arrive à sélectionner via un combobox les données à afficher dans mes textbox. Le seul problème est que lorsque la base de données ne contient qu'une seule entrée, cela plante.
Je pense que ce la vient de la fin de mon code (je l'ai mis entre des $$) mais ne voit pas comment le modifier.
Private Sub Charger_Les_Données_Dans_Formulaire()
'Déterminer la plage de cellules contenant les données Dim DerCol As Integer Dim DerLig As Long
With Feuil5
'Détermine la dernière colonne occupée dans la feuille DerCol = .Cells.Find(What:="*", _ LookIn:=xlFormulas, _ SearchOrder:=xlByColumns, _ SearchDirection:=xlPrevious).Column
'Détermine la dernière ligne occupée dans la feuille DerLig = .Cells.Find(What:="*", _ LookIn:=xlFormulas, _ SearchOrder:=xlByRows, _ SearchDirection:=xlPrevious).Row
'Rg une variable objet contenant ta base de donnée 'la plage débute en ligne 2 Set Rg = .Range("A2", .Cells(DerLig, DerCol))
'Renseigner le combobox des Noms et Prénoms de ta base de donnée With Me.ComboBox1 'largeur des colonnes .ColumnWidths = "120" End With 'les données du combobox $$$ Me.ComboBox1.List = .Range("B2:B"& DerLig).Value $$$$ End With Me.ComboBox1.SetFocus End Sub
ok je comprend mieux, tu pourrais ajouter un à la derniere ligne,
Set PlgSource = .Range("B2:B" & .Range("B65536").End(xlUp).Row + 1)
Me .ComboBox1.List = PlgSource.Value
si ComboBox1 ne contient que les données de la colonne B, pourquoi de
pas trouver seulement la derniere ligne de cette colonne ?
Set PlgSource = .Range("B2:B" & .Range("B65536").End(xlUp).Row)
Me.ComboBox1.List = PlgSource.Value
isabelle
Le 2011-03-02 07:50, bob1877 a écrit :
Bonjour,
J'arrive à sélectionner via un combobox les données à afficher dans mes
textbox.
Le seul problème est que lorsque la base de données ne contient
qu'une seule
entrée, cela plante.
Je pense que ce la vient de la fin de mon code (je l'ai mis entre des
$$) mais
ne voit pas comment le modifier.
Private Sub Charger_Les_Données_Dans_Formulaire()
'Déterminer la plage de cellules contenant les données
Dim DerCol As Integer
Dim DerLig As Long
With Feuil5
'Détermine la dernière colonne occupée dans la feuille
DerCol = .Cells.Find(What:="*", _
LookIn:=xlFormulas, _
SearchOrder:=xlByColumns, _
SearchDirection:=xlPrevious).Column
'Détermine la dernière ligne occupée dans la feuille
DerLig = .Cells.Find(What:="*", _
LookIn:=xlFormulas, _
SearchOrder:=xlByRows, _
SearchDirection:=xlPrevious).Row
'Rg une variable objet contenant ta base de donnée
'la plage débute en ligne 2
Set Rg = .Range("A2", .Cells(DerLig, DerCol))
'Renseigner le combobox des Noms et Prénoms de ta base de
donnée
With Me.ComboBox1
'largeur des colonnes
.ColumnWidths = "120"
End With
'les données du combobox
$$$ Me.ComboBox1.List = .Range("B2:B"& DerLig).Value $$$$
End With
Me.ComboBox1.SetFocus
End Sub
si ComboBox1 ne contient que les données de la colonne B, pourquoi de pas trouver seulement la derniere ligne de cette colonne ?
Set PlgSource = .Range("B2:B" & .Range("B65536").End(xlUp).Row) Me.ComboBox1.List = PlgSource.Value
isabelle
Le 2011-03-02 07:50, bob1877 a écrit :
Bonjour,
J'arrive à sélectionner via un combobox les données à afficher dans mes textbox. Le seul problème est que lorsque la base de données ne contient qu'une seule entrée, cela plante.
Je pense que ce la vient de la fin de mon code (je l'ai mis entre des $$) mais ne voit pas comment le modifier.
Private Sub Charger_Les_Données_Dans_Formulaire()
'Déterminer la plage de cellules contenant les données Dim DerCol As Integer Dim DerLig As Long
With Feuil5
'Détermine la dernière colonne occupée dans la feuille DerCol = .Cells.Find(What:="*", _ LookIn:=xlFormulas, _ SearchOrder:=xlByColumns, _ SearchDirection:=xlPrevious).Column
'Détermine la dernière ligne occupée dans la feuille DerLig = .Cells.Find(What:="*", _ LookIn:=xlFormulas, _ SearchOrder:=xlByRows, _ SearchDirection:=xlPrevious).Row
'Rg une variable objet contenant ta base de donnée 'la plage débute en ligne 2 Set Rg = .Range("A2", .Cells(DerLig, DerCol))
'Renseigner le combobox des Noms et Prénoms de ta base de donnée With Me.ComboBox1 'largeur des colonnes .ColumnWidths = "120" End With 'les données du combobox $$$ Me.ComboBox1.List = .Range("B2:B"& DerLig).Value $$$$ End With Me.ComboBox1.SetFocus End Sub
bob1877
isabelle a écrit le 02/03/2011 à 18h19 :
ok je comprend mieux, tu pourrais ajouter un à la derniere ligne,
Set PlgSource = .Range("B2:B" & .Range("B65536").End(xlUp).Row + 1) Me .ComboBox1.List = PlgSource.Value
si ComboBox1 ne contient que les données de la colonne B, pourquoi de pas trouver seulement la derniere ligne de cette colonne ?
Set PlgSource = .Range("B2:B" & .Range("B65536").End(xlUp).Row) Me.ComboBox1.List = PlgSource.Value
isabelle
Le 2011-03-02 07:50, bob1877 a écrit :
Bonjour,
J'arrive à sélectionner via un combobox les données à afficher dans mes textbox. Le seul problème est que lorsque la base de données ne contient qu'une seule entrée, cela plante.
Je pense que ce la vient de la fin de mon code (je l'ai mis entre des $$) mais ne voit pas comment le modifier.
Private Sub Charger_Les_Données_Dans_Formulaire()
'Déterminer la plage de cellules contenant les données Dim DerCol As Integer Dim DerLig As Long
With Feuil5
'Détermine la dernière colonne occupée dans la feuille DerCol = .Cells.Find(What:="*", _ LookIn:=xlFormulas, _ SearchOrder:=xlByColumns, _ SearchDirection:=xlPrevious).Column
'Détermine la dernière ligne occupée dans la feuille DerLig = .Cells.Find(What:="*", _ LookIn:=xlFormulas, _ SearchOrder:=xlByRows, _ SearchDirection:=xlPrevious).Row
'Rg une variable objet contenant ta base de donnée 'la plage débute en ligne 2 Set Rg = .Range("A2", .Cells(DerLig, DerCol))
'Renseigner le combobox des Noms et Prénoms de ta base de donnée With Me.ComboBox1 'largeur des colonnes .ColumnWidths = "120" End With 'les données du combobox $$$ Me.ComboBox1.List = .Range("B2:B"& DerLig).Value $$$$ End With Me.ComboBox1.SetFocus End Sub
Merci Isabelle, j'ai écrit ceci
With Feuil3 If .Range("C2") = "" Then .Range("B2") = "Créer une nouvelle fiche" End If
If .Range("C3") = "" Then .Range("B3") = "Fin" Sheets("Employé").Range("$A$1:$E$4").RemoveDuplicates Columns:=2, Header:=xlYes End If End With
avec un petit bout de code plus loin pour que, lorsqu l'utilisateur affiche "Créer une nouvelle fiche" dans le combobox, le userform dédié soit ouvert. Cela rend pas mal.
Merci encore
isabelle a écrit le 02/03/2011 à 18h19 :
ok je comprend mieux, tu pourrais ajouter un à la derniere ligne,
Set PlgSource = .Range("B2:B" &
.Range("B65536").End(xlUp).Row + 1)
Me .ComboBox1.List = PlgSource.Value
si ComboBox1 ne contient que les données de la colonne B, pourquoi de
pas trouver seulement la derniere ligne de cette colonne ?
Set PlgSource = .Range("B2:B" &
.Range("B65536").End(xlUp).Row)
Me.ComboBox1.List = PlgSource.Value
isabelle
Le 2011-03-02 07:50, bob1877 a écrit :
Bonjour,
J'arrive à sélectionner via un combobox les données
à afficher dans mes
textbox.
Le seul problème est que lorsque la base de données ne contient
qu'une seule
entrée, cela plante.
Je pense que ce la vient de la fin de mon code (je l'ai mis entre des
$$) mais
ne voit pas comment le modifier.
Private Sub Charger_Les_Données_Dans_Formulaire()
'Déterminer la plage de cellules contenant les données
Dim DerCol As Integer
Dim DerLig As Long
With Feuil5
'Détermine la dernière colonne occupée dans la feuille
DerCol = .Cells.Find(What:="*", _
LookIn:=xlFormulas, _
SearchOrder:=xlByColumns, _
SearchDirection:=xlPrevious).Column
'Détermine la dernière ligne occupée dans la feuille
DerLig = .Cells.Find(What:="*", _
LookIn:=xlFormulas, _
SearchOrder:=xlByRows, _
SearchDirection:=xlPrevious).Row
'Rg une variable objet contenant ta base de donnée
'la plage débute en ligne 2
Set Rg = .Range("A2", .Cells(DerLig, DerCol))
'Renseigner le combobox des Noms et Prénoms de ta base de
donnée
With Me.ComboBox1
'largeur des colonnes
.ColumnWidths = "120"
End With
'les données du combobox
$$$ Me.ComboBox1.List = .Range("B2:B"& DerLig).Value
$$$$
End With
Me.ComboBox1.SetFocus
End Sub
Merci Isabelle,
j'ai écrit ceci
With Feuil3
If .Range("C2") = "" Then
.Range("B2") = "Créer une nouvelle fiche"
End If
If .Range("C3") = "" Then
.Range("B3") = "Fin"
Sheets("Employé").Range("$A$1:$E$4").RemoveDuplicates Columns:=2, Header:=xlYes
End If
End With
avec un petit bout de code plus loin pour que, lorsqu l'utilisateur affiche "Créer une nouvelle fiche" dans le combobox, le userform dédié soit ouvert.
Cela rend pas mal.
si ComboBox1 ne contient que les données de la colonne B, pourquoi de pas trouver seulement la derniere ligne de cette colonne ?
Set PlgSource = .Range("B2:B" & .Range("B65536").End(xlUp).Row) Me.ComboBox1.List = PlgSource.Value
isabelle
Le 2011-03-02 07:50, bob1877 a écrit :
Bonjour,
J'arrive à sélectionner via un combobox les données à afficher dans mes textbox. Le seul problème est que lorsque la base de données ne contient qu'une seule entrée, cela plante.
Je pense que ce la vient de la fin de mon code (je l'ai mis entre des $$) mais ne voit pas comment le modifier.
Private Sub Charger_Les_Données_Dans_Formulaire()
'Déterminer la plage de cellules contenant les données Dim DerCol As Integer Dim DerLig As Long
With Feuil5
'Détermine la dernière colonne occupée dans la feuille DerCol = .Cells.Find(What:="*", _ LookIn:=xlFormulas, _ SearchOrder:=xlByColumns, _ SearchDirection:=xlPrevious).Column
'Détermine la dernière ligne occupée dans la feuille DerLig = .Cells.Find(What:="*", _ LookIn:=xlFormulas, _ SearchOrder:=xlByRows, _ SearchDirection:=xlPrevious).Row
'Rg une variable objet contenant ta base de donnée 'la plage débute en ligne 2 Set Rg = .Range("A2", .Cells(DerLig, DerCol))
'Renseigner le combobox des Noms et Prénoms de ta base de donnée With Me.ComboBox1 'largeur des colonnes .ColumnWidths = "120" End With 'les données du combobox $$$ Me.ComboBox1.List = .Range("B2:B"& DerLig).Value $$$$ End With Me.ComboBox1.SetFocus End Sub
Merci Isabelle, j'ai écrit ceci
With Feuil3 If .Range("C2") = "" Then .Range("B2") = "Créer une nouvelle fiche" End If
If .Range("C3") = "" Then .Range("B3") = "Fin" Sheets("Employé").Range("$A$1:$E$4").RemoveDuplicates Columns:=2, Header:=xlYes End If End With
avec un petit bout de code plus loin pour que, lorsqu l'utilisateur affiche "Créer une nouvelle fiche" dans le combobox, le userform dédié soit ouvert. Cela rend pas mal.