incompetence totale dans les boucles

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 !

BASSDINGUE

XLDnaute Occasionnel
bonjour le forum,

je me retrouve devant un probleme : je ne maitrise pas du tout les boucles
je sais qu'il faut utiliser do while et loop mais alors pour le mettre en place je peine.

en pièce jointe vous trouverez sur la feuil1 un listing (reduit à une ligne) ou j'ai des noms et prénoms de stagiaire qui peuvent apparaitre a partir de la colonne "E" tout les j+5 (ou j est le depart en colonne "E")

Donc: je voudrais que tant que j'ai des stagiaires sur la ligne , renvoyer le noms et le prenoms du 1e stagiare sur le feuil2 faire une impression et passer au 2 e stagiaire et ainsi de suite jusqu'au dernier stagiare.

Mon probleme majeur est la boucle, pour le reste je pense y arriver
merci pour le coup de main
 
Re : incompetence totale dans les boucles

Bonjour,

ce que tu cherches à faire n'est ni plus ni moins que du publipostage...

Le plus simple est de créér ta matrice sur Word, et d'effectuer ton publipostage à partir de ton tableau Excel.

Sous Word, tu peux soit envoyer vers un fichier, soit vers l'imprimante.

Y'a pas plus simple, et ça évite toute erreur de code...
 
Re : incompetence totale dans les boucles

Re-,

Dommage que tu ne veuilles pas te lancer dans cette option, je l'utilise très fréquemment, et je n'ai jamais eu de soucis...

M'enfin....

Sinon, regarde le fichier joint, un publipostage avec Excel

Regarde les zones nommées "tableau" et "compteur" et la formule dans la cellule Fusionnée (A14 de la feuille 2)
 

Pièces jointes

Re : incompetence totale dans les boucles

Bonjour Bassdingue, Bhbh, bonjour le forum,

Je te propose la macro suivante :

Code:
Sub Macro1()
Dim cel As Range 'déclare la variable cel (CELlule)
Dim nl As Long 'déclare la variable nl (Numéro de Ligne)
Dim ns As String 'déclare la variable ns (Nom Stagiaire)
Dim ps As String 'déclare la variable ps (Prénom Stagiaire)
Dim st As String 'déclare la variable st (STagiaire)
 
With Sheets("Feuil1") 'prend en compte l'onglet "Feuil1""
    For Each cel In .Range("A2:A" & .Range("A65536").End(xlUp).Row) 'boucle 1 sur toutes les lignes éditées
        nl = cel.Row 'définit la variable l
        For x = 5 To 50 Step 5 'boucle 2 sur les colonne de 5 à 50 pas pas de 5
            ns = .Cells(nl, x) 'définit la variable ns
            If ns = "" Then Exit Sub 'si le nom est vide, sort de la procédure
            ps = .Cells(nl, x + 1) 'définit la variable ps
            st = ns & " " & ps 'définit la variable st
            Sheets("Feuil2").Range("A14").Value = st 'place le nom/prénom dans l'onglet "Feuil2"
            'etc.... (code
        Next x 'prochaine colonne de la boucle 2
    Next cel 'prochaine cellule de la boucle 1
End With 'fin de la prise en compte de l'onglet "Feuil1"
End Sub
 
- 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

Discussions similaires

Retour