VBA : Sélection de plusieurs colonnes

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

tuturo25

XLDnaute Nouveau
Bonjour à tous,

J'ai un fichier excel avec 95 colonnes, et je souhaiterais créer un code sous VBA qui sélectionnerait uniquement les colonnes non divisibles par 3 à partir de la colonne 4 incluse, pour ensuite les supprimer.

J'ai commencé à écrire le code, mais je m'y connais pas beaucoup donc bien sûr ça ne marche pas ... 😛

Sub Select()

For k = 4 To 95
Cells(1, k).Select
If k Mod 3 = 2 Then
Columns(k).Select
ElseIf k Mod 3 = 1 Then
Columns(k).Select
End If
Next k

End Sub

Le code fonctionne mais il ne sélectionne pas l'ensemble des colonnes, apparemment il faudrait insérer la fonction " Union " mais je ne vois pas trop comment faire.
Est ce que vous auriez une idée svp ?

Je vous remercie d'avance.
 
Re : VBA : Sélection de plusieurs colonnes

Bonsoir tuturo25, bienvenue sur XLD,

Faites une boucle en commençant par la dernière colonne :

Code:
For k = 95 To 4 Step -1
Vous pouvez alors sans problème supprimer les lignes une par une, et pas de Select : c'est inutile.

A+
 
Re : VBA : Sélection de plusieurs colonnes

Merci de vos réponses !

J'ai essayé de faire comme vous m'avez dit, mais le problème c'est que toutes les colonnes seront supprimées si on fait de cette façon.
Le code sélectionne la colonne 4, comme 4 n'est pas divisible par 3, il va supprimer cette colonne. Du coup, la colonne 5 va devenir la colonne 4, et sera aussi supprimée, et ainsi de suite ...

Du coup je pense que je suis obligé de passer par la fonction " Union "
 
Re : VBA : Sélection de plusieurs colonnes

Dernière question : si jamais je veux aller de k = 4 jusqu'à k = dernière colonne non vide , il faut que je rentre for k = 4 to End(xlToRight) ? Est ce que ça sélectionnera aussi les cellules vides si il y en a entre ?
 
Re : VBA : Sélection de plusieurs colonnes

Re,

La bonne syntaxe :

Code:
For k = 4 To [D1].End(xlToRight).Column
va jusqu'au n° de colonne qui précède la 1ère cellule vide à droite de D1.

A+
 
Dernière édition:
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
5
Affichages
237
Réponses
14
Affichages
247
Réponses
9
Affichages
201
Retour