Rechercher des valeurs identiques dans un colonne
Fermé
freeycap
Messages postés
87
Date d'inscription
lundi 27 octobre 2014
Statut
Membre
Dernière intervention
3 septembre 2018
-
29 nov. 2016 à 05:04
freeycap Messages postés 87 Date d'inscription lundi 27 octobre 2014 Statut Membre Dernière intervention 3 septembre 2018 - 1 déc. 2016 à 21:57
freeycap Messages postés 87 Date d'inscription lundi 27 octobre 2014 Statut Membre Dernière intervention 3 septembre 2018 - 1 déc. 2016 à 21:57
A voir également:
- Rechercher des valeurs identiques dans un colonne
- Rechercher ou entrer l'adresse - Guide
- Déplacer une colonne excel - Guide
- Formule somme excel colonne - Guide
- Trier colonne excel - Guide
- Colonne word - Guide
8 réponses
f894009
Messages postés
17206
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
22 novembre 2024
1 710
29 nov. 2016 à 08:27
29 nov. 2016 à 08:27
Bonjour,
code a mettre dans VBA Userform2
code a mettre dans VBA Userform2
Private Sub UserForm_Activate() With Worksheets("Data1") EnCours = "En Cours" Nb = Application.CountIf(.Columns(12), EnCours) If Nb = 0 Then ElseIf Nb <= 2 Then lig = 1: Of7 = 0 For N = 1 To Nb lig = .Columns(12).Find(EnCours, .Cells(lig, 12), , xlWhole).Row Me.Controls("TextBox" & N + Of7).Visible = True Me.Controls("TextBox" & N + Of7) = .Range("A" & lig) Of7 = Of7 + 1 Me.Controls("TextBox" & N + Of7).Visible = True Me.Controls("TextBox" & N + Of7) = .Range("B" & lig) Of7 = Of7 + 1 Me.Controls("TextBox" & N + Of7).Visible = True Me.Controls("TextBox" & N + Of7) = .Range("L" & lig) Of7 = Of7 + 1 Next N End If End With End Sub
freeycap
Messages postés
87
Date d'inscription
lundi 27 octobre 2014
Statut
Membre
Dernière intervention
3 septembre 2018
29 nov. 2016 à 16:25
29 nov. 2016 à 16:25
Bonjour,
Merci beaucoup, ça marche numéro 1... c'est parfait.
Par contre j'aurai quelques questions histoire de bien comprendre le code :
- Comment je dois comprendre cette partie là du code :
ElseIf Nb <= 2 Then -> ca c'est ok !!
lig = 1: Of7 = 0
For N = 1 To Nb
surtout ca : lig = 1: Of7 = 0
En fait, j'pige pas bien le Of7...
- Me.Controls : ca fait quoi ca exactement ?
Aussi, dans le cas ou j'ai 2 résultats qui apparaissent 'en Cours', pour le deuxieme resultat, je veux rendre visible un combobox2 qui me demandera si ce groupe de formation (donc le deuxième résultat de recherche en Cours) est complété ou pas. J'ai déjà un Combobox1 dans le cas ou j'ai une réponse 'En Cours'.
Merci d'avance,
Y.
Merci beaucoup, ça marche numéro 1... c'est parfait.
Par contre j'aurai quelques questions histoire de bien comprendre le code :
- Comment je dois comprendre cette partie là du code :
ElseIf Nb <= 2 Then -> ca c'est ok !!
lig = 1: Of7 = 0
For N = 1 To Nb
surtout ca : lig = 1: Of7 = 0
En fait, j'pige pas bien le Of7...
- Me.Controls : ca fait quoi ca exactement ?
Aussi, dans le cas ou j'ai 2 résultats qui apparaissent 'en Cours', pour le deuxieme resultat, je veux rendre visible un combobox2 qui me demandera si ce groupe de formation (donc le deuxième résultat de recherche en Cours) est complété ou pas. J'ai déjà un Combobox1 dans le cas ou j'ai une réponse 'En Cours'.
Merci d'avance,
Y.
f894009
Messages postés
17206
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
22 novembre 2024
1 710
29 nov. 2016 à 16:36
29 nov. 2016 à 16:36
Re,
- Me.Controls : ca fait quoi ca exactement ?
Ce code permet d'indexer un control ex ici,:
TextBox1 a 3 et avec N + l'offset quand N=1
TextBox5 a 7 et avec N + l'offset quand N=2
code pour Combobox et petie modif du IF N puisque vous n'avez pas besoin du =0
- Me.Controls : ca fait quoi ca exactement ?
Me.Controls("TextBox" & N + Of7)
Ce code permet d'indexer un control ex ici,:
TextBox1 a 3 et avec N + l'offset quand N=1
TextBox5 a 7 et avec N + l'offset quand N=2
code pour Combobox et petie modif du IF N puisque vous n'avez pas besoin du =0
Private Sub UserForm_Activate() With Worksheets("Data1") EnCours = "En Cours" Nb = Application.CountIf(.Columns(12), EnCours) 'nombre de fois EnCours If Nb > 0 And Nb <= 2 Then lig = 1: Of7 = 0 'ligne de depart et offset pour 123 et 567 For N = 1 To Nb lig = .Columns(12).Find(EnCours, .Cells(lig, 12), , xlWhole).Row 'recherche ligne de EnCours Me.Controls("TextBox" & N + Of7).Visible = True ' Me.Controls("TextBox" & N + Of7) = .Range("A" & lig) Of7 = Of7 + 1 Me.Controls("TextBox" & N + Of7).Visible = True Me.Controls("TextBox" & N + Of7) = .Range("B" & lig) Of7 = Of7 + 1 Me.Controls("TextBox" & N + Of7).Visible = True Me.Controls("TextBox" & N + Of7) = .Range("L" & lig) Of7 = Of7 + 1 Me.Controls("Combobox" & N).Visible = True Next N End If End With End Sub
freeycap
Messages postés
87
Date d'inscription
lundi 27 octobre 2014
Statut
Membre
Dernière intervention
3 septembre 2018
29 nov. 2016 à 19:07
29 nov. 2016 à 19:07
holala... Of7... offset.... oulala...
c'était hier lundi matin... sorry....
Merci pour les explications et pour le combobox.
Mais là, forcément, je m'aperçois que mon affaire n'est pas comme il faut... ça marche, mais c'est pas ça...
En fait, mes Combobox doivent permettre de changer le statut de mes groupes de formation de 'En Cours' à 'Complété'.
Si je choisis 'Oui', mon groupe est encore 'En cours', donc le statut ne change pas sur ma feuille Data1.
Si je choisis 'Non', ça change mon statut de 'En Cours à 'Complété' sur ma feuille Data1.
Aussi, que ce soit 'Oui' ou 'Non', dans le cas ou j'ai un seul groupe 'En Cours' ca me rend visible un Textbox dans lequel je rentre le nom de mon nouveau groupe...
Et en confirmant le TextBox, ça incrémente le numéro du groupe de formation sur mon userform (c'est à dire le Textbox du numéro du groupe de formation fait +1), le TextBox du nom du groupe change pour le nouveau nom, et le TextBox du statut revient à 'En Cours'.
Et ces 3 infos se rajoutent avec une nouvelle ligne dans ma feuille Data1.
Mais là, j'ai la possibilité d'avoir 2 groupes 'en Cours'... donc avec 2 Combobox Oui / Non...
Y aurait'il la possibilité d'avoir un seul Combobox, qui me pose la question : Le 1er Groupe 'En Cours' est-il toujours 'En Cours' : Oui / Non (et change le statut sur la feuille Data1 si nécessaire)
Et une fois répondu, que le Combobox me pose la même question, mais pour le second Groupe qui est toujours 'En Cours' + change le statut si nécessaire sur la feuille Data1 + msg d'erreur si je choisis une deuxième fois 'Oui' parce que je ne peux avoir que 2 formations 'En Cours en même temps + Ouvre mon Textbox pour entrer le nouveau groupe.
Et à la confirmation de mon TextBox, refait la boucle pour rechercher les groupes 'En Cours'... Et le numéro du nouveau groupe étant l'incrément de 1 du dernier des 2 numéros...
Ca fait beaucoup là, non ?
c'était hier lundi matin... sorry....
Merci pour les explications et pour le combobox.
Mais là, forcément, je m'aperçois que mon affaire n'est pas comme il faut... ça marche, mais c'est pas ça...
En fait, mes Combobox doivent permettre de changer le statut de mes groupes de formation de 'En Cours' à 'Complété'.
Si je choisis 'Oui', mon groupe est encore 'En cours', donc le statut ne change pas sur ma feuille Data1.
Si je choisis 'Non', ça change mon statut de 'En Cours à 'Complété' sur ma feuille Data1.
Aussi, que ce soit 'Oui' ou 'Non', dans le cas ou j'ai un seul groupe 'En Cours' ca me rend visible un Textbox dans lequel je rentre le nom de mon nouveau groupe...
Et en confirmant le TextBox, ça incrémente le numéro du groupe de formation sur mon userform (c'est à dire le Textbox du numéro du groupe de formation fait +1), le TextBox du nom du groupe change pour le nouveau nom, et le TextBox du statut revient à 'En Cours'.
Et ces 3 infos se rajoutent avec une nouvelle ligne dans ma feuille Data1.
Mais là, j'ai la possibilité d'avoir 2 groupes 'en Cours'... donc avec 2 Combobox Oui / Non...
Y aurait'il la possibilité d'avoir un seul Combobox, qui me pose la question : Le 1er Groupe 'En Cours' est-il toujours 'En Cours' : Oui / Non (et change le statut sur la feuille Data1 si nécessaire)
Et une fois répondu, que le Combobox me pose la même question, mais pour le second Groupe qui est toujours 'En Cours' + change le statut si nécessaire sur la feuille Data1 + msg d'erreur si je choisis une deuxième fois 'Oui' parce que je ne peux avoir que 2 formations 'En Cours en même temps + Ouvre mon Textbox pour entrer le nouveau groupe.
Et à la confirmation de mon TextBox, refait la boucle pour rechercher les groupes 'En Cours'... Et le numéro du nouveau groupe étant l'incrément de 1 du dernier des 2 numéros...
Ca fait beaucoup là, non ?
freeycap
Messages postés
87
Date d'inscription
lundi 27 octobre 2014
Statut
Membre
Dernière intervention
3 septembre 2018
29 nov. 2016 à 22:02
29 nov. 2016 à 22:02
Pour aider, j'ai ça comme code sur mon CommandButton :
Private Sub CommandButton1_Click()
If TextBox4.Value = "" Then
MsgBox "Entrer le Nom de la nouvelle Cohorte."
Exit Sub
ElseIf ComboBox1.Value = "Non" Then
With Worksheets("Data1")
Range("L1").End(xlDown).Value = "Complétée"
End With
Me.TextBox1.Value = Me.TextBox1.Value + 1
'Pour copier le nom de la cohorte dans la page Data1
With Worksheets("Data1")
Nlig = .Range("B" & Rows.Count).End(xlUp).Row + 1
.Range("A" & Nlig).Value = TextBox1
.Range("B" & Nlig).Value = TextBox4
.Range("L" & Nlig).Value = "En Cours"
End With
Me.TextBox2.Value = Me.TextBox4.Value
Label5.Visible = False
ComboBox1.Visible = False
Label6.Visible = False
TextBox4.Visible = False
CommandButton1.Visible = False
CommandButton2.Visible = True
ElseIf ComboBox1.Value = "Oui" Then
Me.TextBox5.Value = Me.TextBox1.Value + 1
With Worksheets("Data1")
Nlig = .Range("L" & Rows.Count).End(xlUp).Row + 1
.Range("L" & Nlig).Value = "En Cours"
.Range("B" & Nlig).Value = TextBox4
.Range("A" & Nlig).Value = TextBox5
TextBox7.Value = Range("L1").End(xlDown).Value
End With
Me.TextBox6.Value = Me.TextBox4.Value
Label5.Visible = False
ComboBox1.Visible = False
Label6.Visible = False
TextBox4.Visible = False
CommandButton1.Visible = False
CommandButton2.Visible = True
Label7.Visible = True
TextBox5.Visible = True
TextBox6.Visible = True
Label8.Visible = True
TextBox7.Visible = True
End If
End Sub
Private Sub CommandButton1_Click()
If TextBox4.Value = "" Then
MsgBox "Entrer le Nom de la nouvelle Cohorte."
Exit Sub
ElseIf ComboBox1.Value = "Non" Then
With Worksheets("Data1")
Range("L1").End(xlDown).Value = "Complétée"
End With
Me.TextBox1.Value = Me.TextBox1.Value + 1
'Pour copier le nom de la cohorte dans la page Data1
With Worksheets("Data1")
Nlig = .Range("B" & Rows.Count).End(xlUp).Row + 1
.Range("A" & Nlig).Value = TextBox1
.Range("B" & Nlig).Value = TextBox4
.Range("L" & Nlig).Value = "En Cours"
End With
Me.TextBox2.Value = Me.TextBox4.Value
Label5.Visible = False
ComboBox1.Visible = False
Label6.Visible = False
TextBox4.Visible = False
CommandButton1.Visible = False
CommandButton2.Visible = True
ElseIf ComboBox1.Value = "Oui" Then
Me.TextBox5.Value = Me.TextBox1.Value + 1
With Worksheets("Data1")
Nlig = .Range("L" & Rows.Count).End(xlUp).Row + 1
.Range("L" & Nlig).Value = "En Cours"
.Range("B" & Nlig).Value = TextBox4
.Range("A" & Nlig).Value = TextBox5
TextBox7.Value = Range("L1").End(xlDown).Value
End With
Me.TextBox6.Value = Me.TextBox4.Value
Label5.Visible = False
ComboBox1.Visible = False
Label6.Visible = False
TextBox4.Visible = False
CommandButton1.Visible = False
CommandButton2.Visible = True
Label7.Visible = True
TextBox5.Visible = True
TextBox6.Visible = True
Label8.Visible = True
TextBox7.Visible = True
End If
End Sub
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
freeycap
Messages postés
87
Date d'inscription
lundi 27 octobre 2014
Statut
Membre
Dernière intervention
3 septembre 2018
30 nov. 2016 à 14:23
30 nov. 2016 à 14:23
Vraiment plus ?
michel_m
Messages postés
16603
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2023
3 310
30 nov. 2016 à 14:30
30 nov. 2016 à 14:30
Bonjour
Transféré dans forum Prog-VBA
Dans l’attente
Transféré dans forum Prog-VBA
Mettre le classeur sans données confidentielles en pièce jointe sur « mon-partage.fr »
et faire un clic droit-coller le raccourci dans votre message
Dans l’attente
freeycap
Messages postés
87
Date d'inscription
lundi 27 octobre 2014
Statut
Membre
Dernière intervention
3 septembre 2018
30 nov. 2016 à 16:01
30 nov. 2016 à 16:01
Salut Michel,
Voici le lien :
https://www.cjoint.com/c/FKEo6WElJ5G
Je pense que c'est toi qui m'a déjà aidé précédement.
En fait c'est toujours le même dossier, mais avec plus de questions encore..
Merci pour ton aide
Y.
Voici le lien :
https://www.cjoint.com/c/FKEo6WElJ5G
Je pense que c'est toi qui m'a déjà aidé précédement.
En fait c'est toujours le même dossier, mais avec plus de questions encore..
Merci pour ton aide
Y.
freeycap
Messages postés
87
Date d'inscription
lundi 27 octobre 2014
Statut
Membre
Dernière intervention
3 septembre 2018
1 déc. 2016 à 21:57
1 déc. 2016 à 21:57
vraiment personne ????