Sélection colonne dans tableau

Bonjour le forum, voici mon problème :

"n" prend la valeur du mois en cours en "C1"

mais quand je met ce code :

 Range("Tableau1[[#All],[n]]").Select

, "n" n'est pas reconnu. Auriez vous une idée? Merci.

Voici le code:

 Dim i As Integer, n As String
          n = Range("C1").Value

           With [Tableau1]
                    For i = 2 To .Columns.Count
                             If .Cells(0, i).Value = Range("C1").Value Then
                                     Range("Tableau1[[#All],[n]]").Select

Bonsoir,

Quel mastic !

n est une variable. Ce n'est pas une référence de cellule, donc la notation dite compacte (entre crochets) ne saurait être utilisée.

De façon générale, on code en VBA en utilisant une syntaxe VBA, et non de la syntaxe Excel !

Dans ton code (une meilleure indentation serait appréciable) :

[Tableau1] qui désigne un tableau Excel (c'est un objet ListObject), fonctionne parce que Excel insère automatiquement le nom du tableau dans les noms du classeur et que ce nom correspond aux données du tableau (ligne d'en-tête exclue). Le nom est utilisable en VBA comme les autres noms de plages.

Ensuite tu démarres ta boucle i = 2, tu sautes donc la première colonne de données, puis tu testes la cellule (0, i), cest à dire la cellule d'en-tête de la colonne...

Là tu compares à Range("C1") (sans qualificateur d'objet, ce que je réprouves ! ) alors que tu as affecté cette valeur à n ! Il aurait été logique d'utiliser n pour la comparaison !!!

Pour la suite si tu veux utiliser les éléments de tableau en VBA, tu passes par ListObject avec une syntaxe VBA, mais en tout état de cause tu n'en as pas besoin pour t'intéresser à la colonne (?) Je ne vois pas ce que tu veux faire parce que cela s'interrompt, mais il est sûr que le Select est de trop : on n'a JAMAIS besoin de sélectionner pour faire quoi que ce soit ! C'est juste mettre un boulet de plomb au pieds de VBA pour l'empêcher d'être rapide !!!

Cordialement.

Rechercher des sujets similaires à "selection colonne tableau"