Résolu copier 2 cellules d'un tableau puis faire une boucle pour chaque ligne de tableau

minot14

Nouveau membre
Bonjour à tous,

Tout juste débutant en VBA, j'aurai besoin de votre aide

J'ai un tableau de par exemple 5 colonnes et 9999 lignes ( le nombre de lignes est susceptible d'augmenter en fonction du temps ) dans l'onglet "Données de saisie".
De ce tableau, je souhaite copier la cellule E1 dans une feuille "PV" en E6, et copier la cellule L1 toujours dans ma feuille "PV" en E11. Ensuite j’exécute une autre action qui marche ( donc pas de détails pour pas alourdir). Là où je bloque, c'est pour reproduire l'action en boucle pour traiter les 9999 lignes, c'est à dire copier "Données de saisie" E2 en "PV" E7 + copier "Données de saisie" L2 en "PV" E8, exécuter l'autre action, et on recommence avec la 3ème ligne jusqu'à la 9999ème.

J'espère que mon explication est claire.

Je bute sur la mise en forme de la boucle et les coordonnées des cellules E6, E7, ....

Quelqu'un pourrait-il m'aider ?
En vous remerciant
 

minot14

Nouveau membre
Voici le bout de code que j'ai déjà :

Sub Sasie_auto()
'
' Saisie_auto Macro
'
' Initialisation des variables
Dim F1 As Worksheet
Dim F2 As Worksheet
Dim F3 As Worksheet, Cell As Range, Plage As Range, NoLig As Long


' Association des variables aux références
Set F1 = Sheets("PV")
Set F2 = Sheets("Affaires")
Set F3 = Sheets("Données de saisie")


Application.ScreenUpdating = False

Sheets("Données de saisie").Select

F3.Range("E1").copy
F1.Range("E6").PasteSpecial Paste:=xlPasteValues

F3.Range("L1").copy
F1.Range("E11").PasteSpecial Paste:=xlPasteValues
Sheets("Affaires").Select

' Action issue d'une macro qui marche
'Insertion d'une ligne
Rows("20:20").Insert Shift:=xlDown, CopyOrigin:=xlFormatFromRightOrBelow

' Copie des valeurs

F1.Range("s7").Copy
F2.Range("B20").PasteSpecial Paste:=xlPasteValues

F1.Range("e6").Copy
F2.Range("E20").PasteSpecial Paste:=xlPasteValues

F1.Range("e13").Copy
F2.Range("D20").PasteSpecial Paste:=xlPasteValues


F1.Range("e11").Copy
F2.Range("H20").PasteSpecial Paste:=xlPasteValues

'Fin de la macro qui marche ;-)

' A partir d'ici, il faudrait que je passe à la ligne 2 de mon tableau de "Données de saisie"


Application.ScreenUpdating = True

' passage à la feulle Feuil2
Application.Goto F2.Range("A1")
'

End Sub
 

drul

Obscur pro du hardware
Staff
Meilleure réponse
Salut, toujours d'actualité ?
Pourquoi tu copies pas toute la plage E1:E9999 ?
du genre:
Code:
F3.Range("E1:E9999").copy F1.Range("E6")
F3.Range("L1:L9999").copy F1.Range("E11")

N.B. on peut évidement déterminer le "9999" de manière plus précise ....
 
Vous devez vous inscrire ou vous connecter pour répondre ici.
Derniers messages publiés
Statistiques globales
Discussions
730 132
Messages
6 718 011
Membres
1 586 388
Dernier membre
mery2005
Partager cette page
Haut