bonjour le forum,
voici la situation:
j'ai créé une macro qui extrait des données d'un fichier "commande", pour les coller dans mon fichier actuel. Dans ce dernier fichier j'ai un onglet "extraction" qui correspond à l'extraction qui vient d'êrte faite et un autre "saisie" pour copier les données à la suite des dernières déjà copiées auparavant.
ma macro insère autant de ligne qu'il y a de données à copier en partant de la première ligne vide.
seulement une fois les lignes créées, ma macro ne se positionne pas à la bonne ligne pour copier les données dans la première ligne créée?
Alors que j'ai identifier cette ligne par : thiscell=X
comment dois-je faire pour qu'il se positionne à la bonne ligne:
soit j'améliore mon code pour qu'il reconnaisse bien ma céllule "X"?
soit j'ajoute un compteur dans ma boucle d'insertion de ligne pour lui dire de remonter depuis la dernière ligne, du nombre que le compteur affichera?
pour cette solution je ne sais pas créer un compteur dans la macro. je crois que c'est du style i+1
voici la situation:
j'ai créé une macro qui extrait des données d'un fichier "commande", pour les coller dans mon fichier actuel. Dans ce dernier fichier j'ai un onglet "extraction" qui correspond à l'extraction qui vient d'êrte faite et un autre "saisie" pour copier les données à la suite des dernières déjà copiées auparavant.
ma macro insère autant de ligne qu'il y a de données à copier en partant de la première ligne vide.
seulement une fois les lignes créées, ma macro ne se positionne pas à la bonne ligne pour copier les données dans la première ligne créée?
Alors que j'ai identifier cette ligne par : thiscell=X
comment dois-je faire pour qu'il se positionne à la bonne ligne:
soit j'améliore mon code pour qu'il reconnaisse bien ma céllule "X"?
soit j'ajoute un compteur dans ma boucle d'insertion de ligne pour lui dire de remonter depuis la dernière ligne, du nombre que le compteur affichera?
pour cette solution je ne sais pas créer un compteur dans la macro. je crois que c'est du style i+1
Code:
Sheets("saisie").Select
[saisie].Find("*", , , , xlByRows, xlPrevious).Select
ActiveCell.Offset(-1, -13).Select [COLOR="YellowGreen"]'c'est pr se positionner sur la colonne A[/COLOR]
[COLOR="yellowgreen"]'première ligne vide pour insérer ldes nouvelles lignes[/COLOR]
ThisCell = X
[COLOR="yellowgreen"]'insertion des lignes pour saisir les commandes
' Début de la boucle DO loop pour insertion ligne[/COLOR]
Sheets("extraction").Select
Range("A2").Select
Do While ActiveCell <> Empty
Sheets("saisie.").Select
[saisie].Find("*", , , , xlByRows, xlPrevious).Select
ActiveCell.Offset(-1, -13).Select
Selection.EntireRow.Insert
[COLOR="yellowgreen"]'copie de la mise en forme de la ligne du haut[/COLOR]
ActiveCell.Offset(-1, 0).Rows("1:1").EntireRow.Select
Selection.Copy
ActiveCell.Offset(1, 0).Rows("1:1").EntireRow.Select
Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
Application.CutCopyMode = False
Sheets("extraction").Select
ActiveCell.Offset(1, 0).Select
Loop
[COLOR="yellowgreen"]'selection des données extraitent à copier[/COLOR]
Range("num_extraction").Select
Selection.Copy
Sheets("saisie").Select
ActiveCell(X).Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Application.CutCopyMode = False