Incrémentation sur les colonnes.

Résolu
nat69000 Messages postés 5 Date d'inscription   Statut Membre Dernière intervention   -  
pijaku Messages postés 12263 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

pijaku Messages postés 12263 Date d'inscription   Statut Modérateur Dernière intervention   2 761
 
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
nat69000 Messages postés 5 Date d'inscription   Statut Membre Dernière intervention  
 
Mais du coup comment fais tu dans ta boucle pour faire apparaitre une condition sur les cellules C6 , D6 , E6 F6?
0
pijaku Messages postés 12263 Date d'inscription   Statut Modérateur Dernière intervention   2 761
 
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
nat69000 Messages postés 5 Date d'inscription   Statut Membre Dernière intervention  
 
Super, ça fonctionne !
Merci!
0
pijaku Messages postés 12263 Date d'inscription   Statut Modérateur Dernière intervention   2 761
 
Mais de rien.
A+
0