XL 2021 Déplacement dans Excel

Usine à gaz

XLDnaute Barbatruc
Supporter XLD
Bonjour matinal à toutes et à tous,
Je vous souhaite une belle journée :)

Je n'arrive pas à trouver le bon code et je fais encore appel à nos ténors :)

Le contexte
Si je sélectionne la cellule "A2
au clic sur le bouton "Déplacement"
le code : Range(ActiveCell.Offset(1, 5), ActiveCell.Offset(5, 12)).Select
Me positionne sur les cellules de "F3 à M7"

J'ai besoin qu'il me positionne de "F3:M jusqu'à la dernière ligne NON vide de la colonne "A"
soit pour mon test en "F3:M28"

Auriez-vous le bon code ?
Merci à toutes et à tous,
Je joins un petit fichier test...
:)
 

Pièces jointes

  • deplct test.xlsm
    22.3 KB · Affichages: 5
Dernière édition:

Usine à gaz

XLDnaute Barbatruc
Supporter XLD
Bjr François :)

Je te remercie pour ta solution qui fonctionne et que je vais garder.

Mais c'est pas tout à fait ça lol ;)

En fait il faut que ça parte de la cellule active donc :
Si c'est "A2" qui est active, c'est bien la plage "F3:M28" qui doit être sélectionnée,
Si c'est "B2" qui est active, c'est la plage "G3:N28" qui doit être sélectionnée,
Si c'est "A3" qui est active, c'est la plage "F4:M28" qui doit être sélectionnée,
etc... C'est selon la cellule active qui peut être n'importe laquelle...
Mais ton code me sera très utile.
Merci à toi :)
 

Usine à gaz

XLDnaute Barbatruc
Supporter XLD
Re Patrick :)
Ton code fonctionne super bien :)
Je me suis essayé sur ce code tiré du tien :
[a2].Select
ActiveCell.Offset(0, 9).Resize(Cells(Rows.Count, "A").End(xlUp).Row - ActiveCell.Row) = "rdv"

Je n'arrive pas à lui faire mettre "rdv" sur la dernière ligne NON vide de "A"
Il s'arrête à l'avant dernière;
Je cherche lol....
:)
 

vgendron

XLDnaute Barbatruc
VB:
Sub LignesDessous()
    '[f2] = 1: [g2] = 1: [h2] = 2: [i2] = 3: [j2] = 4: [k2] = 5: [l2] = 6: [l2] = 7: [m2] = 8
    'Range("F3:M" & Range("A" & Rows.Count).End(xlUp).Row).Select
    [a2].Select
    [ab2] = "ok"
    [ae2] = "oui"
    [bg2] = "oups"
    [a2].Select
    'On Error Resume Next
'    ActiveCell.Offset(1, 27).Resize(, 58).Resize(Cells(Rows.Count, "A").End(xlUp).Row - ActiveCell.Row).Select
'     [a2].Select
    ActiveCell.Offset(0, 27).Resize(1, 32).Copy
    On Error Resume Next
    [a2].Select
    ActiveCell.Offset(1, 27).Resize(, 32).Resize(Cells(Rows.Count, "A").End(xlUp).Row - ActiveCell.Row).Select
    Selection.PasteSpecial Paste:=xlPasteFormulas, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    [a2].Select
    nbligne = ActiveCell.End(xlDown).Row - ActiveCell.Row + 1 'exemple ligne de 3 à 12 = 10 lignes = 12-3+1
    ActiveCell.Offset(0, 9).Resize(nbligne) = "rdv"


End Sub
 

vgendron

XLDnaute Barbatruc
à force de faire des activecell et offset dans tous les sens, tu ne sais plus d'où tu pars....

[A2].select => A2 est LA cellule active
[A2].resize(10).select ==> ca selectionne A2:A11 ==> 10 lignes DONT la ligne 2

sauf que tu toi.. tu ajouttes un offset de ligne
Activecell.offset(1,27).resize(10).select ==> ca selectionne toujours 10 lignes mais A PARTIR de la ligne 3 incluse
 

Discussions similaires

  • Question
Microsoft 365 Code VBA
Réponses
2
Affichages
320

Statistiques des forums

Discussions
312 210
Messages
2 086 281
Membres
103 170
dernier inscrit
HASSEN@45