Selection d'une plage (a:b) avec a et b variables

Bonjour,

comment sélectionner toutes les cellules de E4 jusqu' à la dernière cellule rempli de la colonne P?

Merci les gas

Bonsoir,

Pour faire quoi ?

Bonjour,

Tu sélectionne ta cellule E4, tu maintiens Shift+CTRL et tu vas dans la direction que tu veux avec les flèches directionnelle, par exemple ici droite.

Normalement ça devrait te sélectionner tes cellules de E4 à la dernière cellule remplie dans la ligne 4. (P4 pour toi logiquement par rapport à ce que tu dis)

Mferrand, Avie,

C'est par ce que c'est une manipe a faire une centaines de fois tout les mois, il s'agit donc d'éviter une tâche manuelle etc....c'est pour un copier coller enfin peu importe une fois que j'aurai la sélection se sera good

Avie, on parle bien de dernière cellule de la colonne et non de la ligne

J'ai trouvé :

Sub SELECTIONNER()

LG = Cells(Cells.Rows.Count, "P").End(xlUp).Row

Range("E4:R" & LG).Select

End Sub

Mais il faudrait rajouter un offset que décale de 12 colonnes vers la droite a partir de G4, mais je n'arrive pas a intégrer offset, une idée svp?

Bonjour,

comme c'est souvent rappelé....

Pensez à joindre un fichier pour faciliter la compréhension du problème et augmenter les chances de vous faire aider. La taille maximale autorisée est de : 300ko (si vous utilisez la version 2007 d'Excel ou une version plus récente, préférez les formats ".xlsx" ou ".xlsm" pour réduire la taille du fichier).

et j'ajouterai, un fichier PROCHE du réel !

P.

On veut bien t'aider mais comme dit patrick, le fichier est important (ce n'est pas pour rien que c'est demander à chaque création de sujet, c'est que bien souvent c'est beaucoup plus facile de comprendre ton problème si tu place un fichier)

Pour ma part j'ai compris que tu cherchais à simplement sélectionner E4:P4 en 1 fois. Je ne savais pas que c'était sur plusieurs mois etc etc. Pense à bien expliquer les circonstances et ce que tu cherche exactement à faire, car si on reçoit les informations au compte goutte, tu auras la solution au compte goutte.

Comme dab c'est un travail d'entreprise donc pas de fichier d'origine, mais un fichier le plus proche du réel possible, j'ai changer juste les chiffres.

en onglet1, la macro doit me sélectionner E4:P11, mais si je l'active en onglet 2 elle doit sélectionner C2:N109

c' est à dire, en algorithme: on décale de 12 colonne a partir de E4 ou C2 ect....et on descend jusqu' a la dernière cellule non vide a chaque fois

De plus, E4 et C2 devraient être des variables entrées "à la mains" dans le code de la macro (pas de msgbox si possible).

Bien cordialement, et merci de votre aide les mecs!

7forum-1.xlsx (14.62 Ko)

re,

en supposant que la colonne A contiennent autant de données que la colonne P:

Sub ColonneP()

Dim Last As Long

Last = [E65000].End(xlUp).Row

Range("E4:P" & Last).Select

End Sub

P.

Merci Patrick, mais il me semble que ta macro fait exactement la même chose que celle que j'avais trouvée....(ou moins que j'ai pas tout compris)

patrick1957 a écrit :

Sub ColonneP()Dim Last As LongLast = [E65000].End(xlUp).RowRange("E4:P" & Last).SelectEnd Sub

1) Il faudrait, en repartant de ta macro, que l'instruction E4 dans le range soit rentrée en variable (range) début, style :

dim a as range

a = A4

2) toujours dans le range, il ne faudrait pas indiquer le "P", et utiliser un offset (ou autre) pour décaler de 12 colonnes vers la droite a partir de la variable a (décrite ci-dessus)

Je ne sais pas si tout ça est possible....

Merci du coup de main

Salut Sonata,

macro à tester après avoir été intégrée dans chaque feuille à "traiter"...

Le truc : cliquer sur la cellule "Janvier"... si elle est déjà sélectionnée, cliquer ailleurs et y revenir...

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
'
If Target.Count > 1 Then Exit Sub
'
If Target.Value = "Janvier" Then
    iFlag = Target.Row
    iFlag1 = Target.Column
    iFlag2 = Cells(iFlag, iFlag1 + 11).End(xlDown).Row
    Range(Cells(iFlag, iFlag1), Cells(iFlag2, iFlag1 + 11)).Select
End If
'
End Sub

A+

Salut Curulis,

J'ai testé la macro, elle fonction bien et on se rapproche du but, mais elle ne s'arrête pas a la dernier case pleine de la colonne +11. si il y a des trous elle s'arrête.

par exemple dans le fichier, si on l'active en onglet1, elle s'arrête en P5 or elle devrait s'arrêter en P111.

Il y aura toujours des trous entre la première ligne et la dernière....peut on contourner se problèmes?

Merci pour l'aide les gas!

Salut Sonata,

tu changes cette petite ligne :

    iFlag2 = Cells(Rows.Count, iFlag1 + 11).End(xlUp).Row

A+

Rechercher des sujets similaires à "selection plage variables"