Selection plage cellules

Résolu/Fermé
jean300 Messages postés 374 Date d'inscription jeudi 11 août 2016 Statut Membre Dernière intervention 13 janvier 2020 - 5 mai 2018 à 15:15
yg_be Messages postés 22707 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 19 avril 2024 - 8 mai 2018 à 09:19
Bonjour,
Je voudrais sélectionner la plage de cellule de la feuille5 colonnes A:F avec un nombre de lignes variables comportant des cellules vides par Vba
Je ne peux malheureusement pas travailler en nommant ma plage avec DECALER

Merci pour votre aide
ps Excel 2003

10 réponses

Mike-31 Messages postés 18310 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 29 mars 2024 5 073
6 mai 2018 à 13:04
Bonjour,

Essaye simplement comme cela pour sélectionner de A1 à la dernière cellule renseignée en A décalée colonne F

Sub Sélect()
Range([A1], [A65535].End(xlUp)(1, 6)).Select
End Sub

1
yg_be Messages postés 22707 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 19 avril 2024 1 471
5 mai 2018 à 15:49
bonjour, par exemple:
Option Explicit

Sub jean300()
Dim ldebut As Long, lfin As Long
Dim plage As Range
ldebut = 23
lfin = 32
Set plage = ThisWorkbook.Sheets("feuille5").Range("A" & ldebut & ":F" & lfin)
End Sub

ou bien souhaites-tu automatiquement détecter les cellules vides?
0
jean300 Messages postés 374 Date d'inscription jeudi 11 août 2016 Statut Membre Dernière intervention 13 janvier 2020 14
5 mai 2018 à 16:59
Bonjour yg_be
Je te remercie de me répondre, j'ai testé ton code mais il ne se passe rien
En fait je voudrais que cette formule =NON(MOD(LIGNE();2)) (en format conditionnel) se mette sur les colonnes de A à F jusqu'à la dernière ligne qui comporte toujours une écriture en colonne A
0
yg_be Messages postés 22707 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 19 avril 2024 1 471
5 mai 2018 à 17:47
alors je propose ceci:
Option Explicit

Sub jean300()
'En fait je voudrais que cette formule =NON(MOD(LIGNE();2)) _
    (en format conditionnel) se mette sur les colonnes de A à F _
    jusqu'à la dernière ligne qui comporte toujours une écriture en colonne A
Dim nlig As Long
Dim sh As Worksheet

Set sh = ThisWorkbook.Sheets("feuille5")
nlig = 1
Do While sh.Cells(nlig, 1) <> ""
    sh.Range("A" & nlig & ":F" & nlig).FormulaLocal = "=NON(MOD(LIGNE();2))"
    nlig = nlig + 1
Loop
End Sub
0
jean300 Messages postés 374 Date d'inscription jeudi 11 août 2016 Statut Membre Dernière intervention 13 janvier 2020 14
5 mai 2018 à 19:25
Ce n'est pas bon car ça inscrit VRAI dans les cellule
Ça n'applique le format conditionnel
0
yg_be Messages postés 22707 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 19 avril 2024 1 471
5 mai 2018 à 19:47
plutôt ainsi?
Sub jean300()
'En fait je voudrais que cette formule =NON(MOD(LIGNE();2)) _
    (en format conditionnel) se mette sur les colonnes de A à F _
    jusqu'à la dernière ligne qui comporte toujours une écriture en colonne A
Dim nlig As Long
Dim sh As Worksheet
Dim rg As Range

Set sh = ThisWorkbook.Sheets("feuille5")
nlig = 1
Do While sh.Cells(nlig, 1).Value <> ""
    Set rg = sh.Range("A" & nlig & ":F" & nlig)
    Call rg.FormatConditions.Add(xlExpression, , "=NON(MOD(LIGNE();2))") '"=NON(MOD(LIGNE();2))"
    rg.FormatConditions(1).Interior.PatternColorIndex = xlAutomatic
    rg.FormatConditions(1).Interior.ColorIndex = 19
    nlig = nlig + 1
Loop
End Sub

sinon, pourrais-tu partager ton fichier?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
jean300 Messages postés 374 Date d'inscription jeudi 11 août 2016 Statut Membre Dernière intervention 13 janvier 2020 14
5 mai 2018 à 22:00
Ça bloque ici :
Call rg.FormatConditions.Add(xlExpression, , "=NON(MOD(LIGNE();2))") '"=NON(MOD(LIGNE();2))"


le fichier :
https://www.cjoint.com/c/HEft65tJNy2
0
yg_be Messages postés 22707 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 19 avril 2024 1 471
5 mai 2018 à 22:56
moi, j'ai pu utilisé ceci:
Option Explicit

Sub jean300()
'En fait je voudrais que cette formule =NON(MOD(LIGNE();2)) _
    (en format conditionnel) se mette sur les colonnes de A à F _
    jusqu'à la dernière ligne qui comporte toujours une écriture en colonne A
Dim nlig As Long
Dim sh As Worksheet
Dim rg As Range

Set sh = ThisWorkbook.Sheets("Feuil1")
nlig = 2
Do While sh.Cells(nlig, 1).Value <> ""
    Set rg = sh.Range("A" & nlig & ":F" & nlig)
    rg.FormatConditions.Delete
    Call rg.FormatConditions.Add(xlExpression, , "=NON(MOD(LIGNE();2))")  '=NON(MOD(LIGNE();2)) =NOT(MOD(ROW();2))
    rg.FormatConditions(1).Interior.PatternColorIndex = xlAutomatic
    rg.FormatConditions(1).Interior.ColorIndex = 35
    nlig = nlig + 1
Loop
End Sub

quand tu écris "Ça bloque ici", as-tu un message d'erreur?
le fichier que tu as envoyé ne contient pas le code que j'ai proposé.
0
jean300 Messages postés 374 Date d'inscription jeudi 11 août 2016 Statut Membre Dernière intervention 13 janvier 2020 14
6 mai 2018 à 12:47
OK, j'ai fait une boulette, merci beaucoup yg_be
Je te souhaite un bon dimanche
0
jean300 Messages postés 374 Date d'inscription jeudi 11 août 2016 Statut Membre Dernière intervention 13 janvier 2020 14
6 mai 2018 à 13:20
Bonjour Mikr-31
Rapide et efficace, Merci à toi
0
Mike-31 Messages postés 18310 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 29 mars 2024 5 073
6 mai 2018 à 14:51
Re,

Si tes attentes sont satisfaites, passe le statut de la discussion en résolu ou confirme le nous qu'on le fasse pour toi
0
jean300 Messages postés 374 Date d'inscription jeudi 11 août 2016 Statut Membre Dernière intervention 13 janvier 2020 14
7 mai 2018 à 16:06
re
Oui le sujet est résolu mais je ne sais pas comment le mettre
Merci d'avance
0
yg_be Messages postés 22707 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 19 avril 2024 1 471
7 mai 2018 à 19:45
tu peux utiliser la roue dentée à droite du titre pour marquer le sujet comme résolu.
0
jean300 Messages postés 374 Date d'inscription jeudi 11 août 2016 Statut Membre Dernière intervention 13 janvier 2020 14
8 mai 2018 à 09:11
Merci yg_be
Dois-je ouvrir un autre sujet presque similaire mais pour copier de A2 à Z2 et de coller le format sur le reste de la feuille de la dernière ligne à la ligne jusqu'à la ligne 3
Je pense que c'est cette partie qu'il faut modifier, mais comment
    Call rg.FormatConditions.Add(xlExpression, , "=NON(MOD(LIGNE();2))")  '=NON(MOD(LIGNE();2)) =NOT(MOD(ROW();2))
0
yg_be Messages postés 22707 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 19 avril 2024 1 471
8 mai 2018 à 09:19
je pense préférable d'ouvrir un autre sujet. prend le temps de bien expliquer dès le départ ce que tu attends, notamment "copier de A2 à Z2".
0