Selection de cellules

maloplekxus -  
pijaku Messages postés 13513 Date d'inscription   Statut Modérateur Dernière intervention   -
Bonjour,

Voici mon besoin :
Je cherche à sélectionner en VBA toutes les cellules de ma feuille sauf certaines. J'ai donc penser à deux solutions :
1) Sélectionner les cellules que je ne voudrais pas modifier, puis inverser la sélection.
2) Sélectionner toutes mes cellules avec "Cells.Select", en excluant une plage nommée.

Cependant je n'y suis pas parvenu et c'est pour cela que je fais appel à vous.

Merci d'avance pour votre aide.

2 réponses

  1. pijaku Messages postés 13513 Date d'inscription   Statut Modérateur Dernière intervention   2 773
     
    Bonjour,

    Je cherche à sélectionner en VBA
    Déjà ça commence mal.... VBA et sélectionner ne devraient jamais être associés.

    Que veux tu faire de ta "sélection"?
    0
  2. maloplekxus
     
    L'idée est la suivante : je souhaite masquer certaines certaines colonnes et certaines lignes

    Par exemple ici, je masque toutes les colonnes de F jusqu'à la fin et toutes les lignes jusqu'à la fin

    Sub test ()

    Range(Columns("F:F"), Selection.End(xlToRight)).EntireColumn.Hidden = True

    Range(Rows("20:20"), Selection.End(xlDown)).EntireRow.Hidden = True

    End Sub


    En revanche, je souhaite réaliser cette opération dans des cas plus complexe ou j'ai beaucoup colonnes. Ainsi si j'ai des colonnes sélectionner, je voudrais inverser la sélection pour masquer toutes les autres. De même j'aimerais avoir la possibilité d'avoir des cellules sélectionnées et ensuite inverser la sélection.
    0
    1. pijaku Messages postés 13513 Date d'inscription   Statut Modérateur Dernière intervention   2 773
       
      Ok. Dans ce sens là, pourquoi pas.

      Regarde ce code, il masque toutes les colonnes dont la 1ère cellule (Ligne 1) n'est pas sélectionnée.

      Sub test()
      Dim DrCol As Integer, Col As Integer
      
      DrCol = Cells.Columns.Count
      For Col = 1 To DrCol
          If Intersect(Cells(1, Col), Selection) Is Nothing Then Columns(Col).Hidden = True
      Next
      End Sub
      0