Selection plage cellules

Résolu
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

  1. 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
    1. Contributeur
      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
  2. re
    Oui le sujet est résolu mais je ne sais pas comment le mettre
    Merci d'avance
    0
    1. Contributeur
      tu peux utiliser la roue dentée à droite du titre pour marquer le sujet comme résolu.
      0
  3. 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
    1. Bonjour Mikr-31
      Rapide et efficace, Merci à toi
      0
      1. 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
        1. OK, j'ai fait une boulette, merci beaucoup yg_be
          Je te souhaite un bon dimanche
          0
          1. Ç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
            1. Contributeur
              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
          2. Ce n'est pas bon car ça inscrit VRAI dans les cellule
            Ça n'applique le format conditionnel
            0
            1. Contributeur
              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
          3. 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
            1. Contributeur
              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
          4. Contributeur
            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