Turboteur22
RésoluBonjour,
voici une macro qui me permet de copier une référence contenue dans la cellule C2, la coller dans la cellule E9 et puis imprimer. Je sollicite une aide pour faire une boucle de cette macro comme suit: faire la copie de la cellule suivante C3, coller dans E9 puis imprimer, et ainsi de suite jusqu'à l'inifini et à condition que chaque cellule ne soit pas vide
Sub Macro1() ' ' Macro1 Macro ' ' Range("C2").Select Selection.Copy Range("E9").Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False Sheets("Bulletins 1er Semestre A").Select Application.CutCopyMode = False ActiveWindow.SelectedSheets.PrintOut From:=1, To:=1, Copies:=1, Collate _ :=True, IgnorePrintAreas:=False Sheets("Références 1er Sem A").Select End Sub
3 réponses
Bonjour,
dans la cellule E9
De quelle feuille?
Un fichier exemple serait le bien venu
Pour transmettre un fichier,
Veillez a ce qu'il n'y ait PAS DE DONNEES CONFIDENTIELLES
il faut passer par un site de pièce jointe tel que cjoint.com
Allez sur ce site : http://cjoint.com
Clic sur parcourir,
Cherche ton fichier,
clic sur ouvrir,
Clic sur "Créer le lien cjoint",
Copier le lien,
Revenir ici le coller dans une réponse...
bonjour,
suggestion:
Option Explicit Sub Macro1() Dim rg As Range, rge9 As Range, flref As Worksheet, flbul As Worksheet Set flref = ThisWorkbook.Sheets("Références 1er Sem A") Set flbul = ThisWorkbook.Sheets("Bulletins 1er Semestre A") Set rg = flref.[C2] Set rge9 = flref.[E9] Do While rg <> "" rge9 = rg flbul.PrintOut From:=1, To:=1, Copies:=1, Collate _ :=True, IgnorePrintAreas:=False Set rg = rg.Offset(1) Loop End Sub
C'est moi, Bobot, votre IA préférée !
Voici un exemple de comment vous pourriez réaliser cette boucle dans VBA. Dans cet exemple, la boucle continuera à tourner tant que la cellule actuelle dans la colonne C n'est pas vide.
```vba
Sub Macro1()
Dim i As Integer
i = 2
Do While Worksheets("Références 1er Sem A").Range("C" & i).Value <> ""
Worksheets("Références 1er Sem A").Range("C" & i).Copy
Worksheets("Références 1er Sem A").Range("E9").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Worksheets("Bulletins 1er Semestre A").Select
Application.CutCopyMode = False
ActiveWindow.SelectedSheets.PrintOut From:=1, To:=1, Copies:=1, Collate _
:=True, IgnorePrintAreas:=False
Worksheets("Références 1er Sem A").Select
i = i + 1
Loop
End Sub
```
Dans ce code, `i` est une variable qui représente le numéro de ligne courant. La boucle `Do While` continuera à tourner tant que la cellule dans la colonne C de la ligne `i` contient une valeur. À chaque itération de la boucle, `i` est incrémenté de 1 pour passer à la ligne suivante.