Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

créer ne boucle

  • Initiateur de la discussion Initiateur de la discussion mmcg
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

M

mmcg

Guest
😕Bonjour,

je suis toujours sur la création d'un programme et j'ai un nouveau problème!

j'aimerai faire une boucle sur une liste de nom?

Explication avec exemple:

-J'ai une liste de nom: dans la "feuill1" qui va de "A1 à A30", cette liste varie celon un textbox "sa sa fonctionne parfaitement"

Dans une autre "feuill2" j'ai une base de données avec des noms.
j'aimerai il me recherche tout les nom de la feuill1 et qu'il me les sélectionne dans la feuill2?

Merci de votre aide ;-)
 
Re : créer ne boucle

Dim nom(150) : dimensionne un tableau utilisé dans la boucle sur Feuille 2
Dim ligne(150) : idem mais n'est plus utilisé
Dim numero As Integer : Définit la variable numero comme étant un nombre entier
Dim nm As String : définit une chaine de caractères (alpha et alphanumérique)
Dim dte As Date : une date
Dim j As Integer
Dim i As Integer

Sub essai()
Sheets("Feuil2").Activate : ouvre la feuille 2

j = 1
For i = 5 To 10 : une boucle dans la feuille 2 de la ligne 5 à la ligne 10
nom(j) = Cells(i, 1) : A chaque boucle, la valeur de la cellule (ligne 5, colonne 1) est
stockée dans une variable nom(1)
: au premier passage puis nom(2) au deuxième passage (en effet j j est incrémenté de 1 à chaque passage
j = j + 1 :
Next i : i passe à 6 pour le deuxième passage et retourne à nom(j)=cells(i,1) et ainsi
de suite jusqu'à 10
après la dernière itération,
nb = j : stockage du nombre de noms trouvés dans la varable nb
dte = Range("A12").Value : récupération de la date de la cellule "A12" dans la variable
dte
numero = Range("A15").Value : récupération de cellule "A15" dans la variable numero

Sheets("Feuil1").Activate
derl = Range("iv20").End(xlToLeft).Column : dernière colonne utilisée ligne 20

For i = 22 To 30 : boucle sur la feuille 1 (30 ou dernière ligne de la feuille)
nm = Cells(i, 1) : stockage de la valeur de la cellule (ligne22, colonne 1) dans nm
If nm = "" Then i = 30: GoTo fin :sortir de la boucle s'il n'y a plus de valeur à traiter
For j = 1 To nb
If nm = nom(j) Then : comparer chaque nom nm à tous les noms stockés dans
les variables indicées nom(1) à nom(nb)

maj :Appel du programme maj (ci-dessous)
j = nb
End If
Next j : tant que j n'est pas égal à nb on boucle
fin:
Next i : on passe à la ligne suivante de la feuille 1 et on
recommence
End Sub

Fonctions du programme maj appelé par le programme essai : on boucle sur toutes les colonnes de la ligne 20 pour trouver la date qui correspond à dte
Si oui : écriture de la variable numero dans la cellule correspondante

Attention, lorsque l'on veut utiliser une variable dans plusieurs procédures d'un même module, il faut les définir au dessus de la première procédure

Sub maj()
Sheets("Feuil1").Activate
For k = 6 To 25
If Cells(20, k) = dte Then col = k: k = 25
Next k
Cells(i, col) = numero
' Sheets("Feuil2").Activate
End Sub
 
Re : créer ne boucle

bonjour CHALET53
ton explication est super!!!
Vu qu'il me semble que tu as de grande connaissance dans ce domaine, j'aimerai bien que tu me donne ton avis sur mon programme!
Mais il ne rentre pas dans la messagerie du forum et c'est un programme avec des données réelles de personnes. Si tu es d'accord peux-tu me communiquer ton adresse e-mail? si tu ne veux pas je comprend🙂
merci de ton impication.
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
3
Affichages
170
Réponses
15
Affichages
464
Réponses
18
Affichages
611
  • Question Question
XL 2021 listbox
Réponses
18
Affichages
753
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…