Macro : Positionnement sur 1ère ligne sans données

M

Martine

Guest
Bonjour,

Une petite aide serait la bienvenue !

Je souhaite intégrer l'action suivante dans une macro : Copier une série fixe de données à la suite d'une série fluctuante, récupérée sur une source de données externe.
Le positionnement sur la dernière ligne de données s'effectue correctement mais, le positionnement sur la ligne suivante est traduit 'en dur' sur une cellule.

Selection.End(xlDown).Select
Range('A3565').Select

Comment puis-je me positionner sur la 1ère ligne vierge suivante ?

Application.Goto Reference:='R1C1'
ActiveCell.FormulaR1C1 = '=TODAY()'
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Application.Goto Reference:='R4C1'
Range(Selection, ActiveCell.SpecialCells(xlLastCell)).Select
Application.CutCopyMode = False
Selection.ClearContents
Application.Goto Reference:='R4C1'
Selection.QueryTable.Refresh BackgroundQuery:=False
Application.Goto Reference:='R4C1'
Selection.End(xlDown).Select
Range('A3565').Select
Sheets('Leurres').Select
Application.Goto Reference:='R2C1'
Range(Selection, ActiveCell.SpecialCells(xlLastCell)).Select
Selection.Copy
Sheets('Requête GESMO').Select
ActiveSheet.Paste
Application.Goto Reference:='R4C1'
ActiveWindow.SmallScroll Down:=-3
MsgBox ('Vérifier la taille de la base et la mise en forme des TCD')
End Sub

Merci d'avance
 

Abel

XLDnaute Accro
Bonjour Martine,

'Comment puis-je me positionner sur la 1ère ligne vierge suivante ?'

Mettons que ce soit la colonne 'A' qui détermine où on connait le dernier enregistrement :

range('a' & Range ('a65536').end(lxup).row+1).select

se positionne et sélectionne 'la première ligne vierge suivante' (la cellule 'Ax', en fait).

Le code remonte depuis le bas de la feuille jusqu'à rencontrer un enregistrement, repère la ligne et ajoute 1.
Evidemment, s'il y a un autre tableau en dessous du premier dans la même colonne, il vaut mieux choisir l'inverse (partir du haut).

On a l'habitude de partir du bas de la feuille pour s'affranchir du risque de rencontrer une ligne vide dans les enregistrements.
En effet, si on part du haut, le code va descendre jusqu'à rencontrer une ligne vide où il s'arrète.


Abel.
 

Discussions similaires