copier/ coller boucle next/for

lucc13118

XLDnaute Nouveau
bonjour,

Pourriez-vous m'aider à résoudre le problème de la macro si dessous ?

Dans mon fichier, dans l'onglet "Formation 213" j'ai un tableau que j'incrémente ligne/ ligne avec des données. Pour une même ligne, les données des colonnes H à O, je veux que la macro copie la cellule H+numéro de ligne en cours, la colle en E7 dans l'onglet "convocation formation" et imprime la feuille en cours. Puis revenir sur l'onglet "Formation 2013", copie I+numéro de ligne en cours...etc jusqu'à ce qu'elle rencontre une cellule vide.
Pour l'instant, elle ne fait pas de boucle et s'arrête à la 1ère cellule de la plage, soit H+numéro de la ligne en cours

lorsque que je teste avec un Range définie, exemple range ("H6:eek:6"), ça marche bien mais dès que j'active la variable i pour déterminer la plage variable, soit Range("H" & i & ":O" & i), cela ne fonctionne plus

Avez-vous une idée pour résoudre mon problème ?

Merci

Sub Macro1()

Sheets("Formations 2013").Select

Dim Cell As Range, Plage As Range

Range("H" & Cells.Rows.Count).End(xlUp).Select
i = ActiveCell.Row

Set Plage = Range("H" & i & ":O" & i)
'Set Plage = Range("H6:O6")

For Each Cell In Plage

ActiveCell.Select
Selection.Copy
Sheets("Convocation Formation").Select
Range("E7").Select
ActiveSheet.Paste

'Impression convoc vierge
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, _
IgnorePrintAreas:=False
If IsEmpty(Cell) Then
Exit For
End If
Sheets("Formations 2013").Select
Next Cell
End Sub
 
Dernière édition:

Paf

XLDnaute Barbatruc
Re : copier/ coller boucle next/for

bonjour,

une solution possible :
Code:
Sub Macro1()
Dim i As Byte, j As Byte
i = ActiveCell.Row 'attention à bien sélectionner la bonne ligne
j = 8 ' N° de colonne de départ

While Worksheets("Formations 2013").Cells(i, j) <> ""
    Worksheets("Formations 2013").Cells(i, j).Copy Worksheets("Convocation Formation").Cells(7, 5)
    j = j + 1
    'Impression convoc vierge
    Worksheets("Convocation Formation").PrintOut 'Copies:=1, Collate:=True, IgnorePrintAreas:=False
Wend

'Sheets("Formations 2013").Select

End Sub

A+ si besoin d'explications
 

Discussions similaires

Réponses
7
Affichages
369

Statistiques des forums

Discussions
312 305
Messages
2 087 087
Membres
103 461
dernier inscrit
dams94