Incrémentation sur les colonnes.

Résolu
nat69000 Messages postés 5 Statut Membre -  
pijaku Messages postés 13513 Date d'inscription   Statut Modérateur Dernière intervention   -
Bonjour,

Je galère depuis quelques heures sur une macro que vous trouverez certainement toute simple, mais j'ai besoin de votre aide.

Je souhaite effectuer une macro qui filtrera les colonnes jusqu'à la dates que je lui indique dans le userforme. Pour cela j'ai rentré les dates de chaque lundi jusqu'en 2018 dans les cellules L6 jusque KN6.

Le problème que je rencontre c'est que je n'arrive pas à incrémenter sur les colonnes étant donné que c'est des lettres.

Voici mon bout de code déjà fait:

Private Sub CommandButton1_Click()
Dim DATD As Date

DATD = TextBox1 'date rentré dans le userforme

Dim i As String
Dim j As String
i = 76 'car je veux commencer à filtrer à partir de la colonne L
j = Chr(i)

If j6 < DATD Then

Columns("j").Select
Selection.EntireColumn.Hidden = True

End If

End sub

'avec ce code, je ne filtre que la colonne J!

J'espère que ce n'est pas trop ambiguë.
Merci d'avance.

3 réponses

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

    Pour boucler sur les colonnes, il ne faut pas utiliser la lettre qui lui correspond, mais son numéro.
    Exemple :
    Boucle sur les colonnes, de C à F :

    Sub BoucleCol()
    Dim Col As Integer
    
    For Col = 3 To 6
        MsgBox "Colonne " & Col
    Next Col 
    End Sub
    0
  2. nat69000 Messages postés 5 Statut Membre
     
    Mais du coup comment fais tu dans ta boucle pour faire apparaitre une condition sur les cellules C6 , D6 , E6 F6?
    0
    1. pijaku Messages postés 13513 Date d'inscription   Statut Modérateur Dernière intervention   2 773
       
      Comme ceci :

      Sub BoucleCol()
      Dim Col As Integer
      
      With Sheets("Feuil2") 'On décide de travailler dans la Feuil2 ==> A ADAPTER
          For Col = 3 To 6
              'MASQUE LA COLONNE SI ON TROUVE ABC en Ligne 6 :
              If .Cells(6, Col).Value = "ABC" Then .Columns(Col).Hidden = True
          Next Col 
      End With
      End Sub
      0
  3. nat69000 Messages postés 5 Statut Membre
     
    Super, ça fonctionne !
    Merci!
    0
    1. pijaku Messages postés 13513 Date d'inscription   Statut Modérateur Dernière intervention   2 773
       
      Mais de rien.
      A+
      0