Macro copie donnée sur un nb de ligne fonction de
Résolu
NiGM
Messages postés
7
Statut
Membre
-
NiGM Messages postés 7 Statut Membre -
NiGM Messages postés 7 Statut Membre -
Bonjour,
Je souhaiterais créer une macro qui me permette de copier la première ligne de saisie des colonnes A à D (A2 : D2) sur un nombre de ligne fonction du remplissage des colonnes E et F <=> sélection (E2:Dx)
J'ai plusieurs hypothèse de code VBA :
-une boucle? mais laquelle (While, For...) --> si A2:D2 est remplie (non vide) copier coller la ligne du dessus et ce jusqu'à rencontrer une cellule vide sur les colonnes E et D
-définir une variable Dim E,F= "Sélection de E2:D2 jusqu'à la dernière ligne (Sélection,Sélection.End(xlDown))
--> mais je ne sais pas si l'on peut définir une variable par une sélection...
Bref je suis un peu perdue dans ce code VBA...
Est-ce que vous auriez des pistes, un code à me proposer?
Je vous remercie par avance
Je souhaiterais créer une macro qui me permette de copier la première ligne de saisie des colonnes A à D (A2 : D2) sur un nombre de ligne fonction du remplissage des colonnes E et F <=> sélection (E2:Dx)
J'ai plusieurs hypothèse de code VBA :
-une boucle? mais laquelle (While, For...) --> si A2:D2 est remplie (non vide) copier coller la ligne du dessus et ce jusqu'à rencontrer une cellule vide sur les colonnes E et D
-définir une variable Dim E,F= "Sélection de E2:D2 jusqu'à la dernière ligne (Sélection,Sélection.End(xlDown))
--> mais je ne sais pas si l'on peut définir une variable par une sélection...
Bref je suis un peu perdue dans ce code VBA...
Est-ce que vous auriez des pistes, un code à me proposer?
Je vous remercie par avance
A voir également:
- Macro copie donnée sur un nb de ligne fonction de
- Partage de photos en ligne - Guide
- Fonction si et - Guide
- Copie cachée - Guide
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Formulaire en ligne de meta - Guide
3 réponses
Bonjour
...."sur un nombre de ligne fonction du remplissage des colonnes E et F <=> sélection (E2:Dx) "... ???
pourquoi colonne F alors si Dx ?
...."sur un nombre de ligne fonction du remplissage des colonnes E et F <=> sélection (E2:Dx) "... ???
pourquoi colonne F alors si Dx ?
Bonjour,
Il n'y a aucun problème pour utiliser une variable dans une sélection.
Si ta variable est "ligne" et ta colonne est "E" dans ce cas dans ta sélection tu utilisera la syntaxe suivante :
range("E" & ligne).select.
Si "ligne" vaut 4 dans ce cas le range "E4" sera sélectionné
Il n'y a aucun problème pour utiliser une variable dans une sélection.
Si ta variable est "ligne" et ta colonne est "E" dans ce cas dans ta sélection tu utilisera la syntaxe suivante :
range("E" & ligne).select.
Si "ligne" vaut 4 dans ce cas le range "E4" sera sélectionné
Sur la ligne A2:D2 je copie 4 données (date, lot, origine...) et sur E2:F2 2 mesures.
J'ai plusieurs mesures qui correspondent aux mêmes données que mes 2 premières mesure.
Donc pour éviter de réécrire les 4 premières données, j'aimerais un code qui me permette de les copier ligne après ligne lorsque je finis de saisir mes mesures (dans les colonnes E et F).
Est-ce que c'est un peu plus clair michel_m ?...
J'ai plusieurs mesures qui correspondent aux mêmes données que mes 2 premières mesure.
Donc pour éviter de réécrire les 4 premières données, j'aimerais un code qui me permette de les copier ligne après ligne lorsque je finis de saisir mes mesures (dans les colonnes E et F).
Est-ce que c'est un peu plus clair michel_m ?...
Bonjour
Est-ce que c'est un peu plus clair michel_m ?...
pas sûr, mais peut-être que ce code te conviendra
Est-ce que c'est un peu plus clair michel_m ?...
pas sûr, mais peut-être que ce code te conviendra
Option Explicit
'-------------------------------------------
Sub vvvv()
Dim Fin As Integer
Fin = Columns("F").Find(what:="", after:=Range("F2"), LookIn:=xlValues).Row - 1
Range("A3").Resize(Fin, 4) = Range("A2:D2").Value
End Sub
Idem pour les lignes en dessous :
"cellule vide sur les colonnes E et D" --> E et F!
"Sélection de E2:D2 jusqu'à la dernière ligne" --> E2:F2 !