Je viens vous demander de l'aide. En effet, grâce à toutes vos lumières sur le fofo j'ai réussi (j'en reviens pas moi-même) à réaliser un bout de code dans le fichier joint.
L'idée : J'ai un tableau avec plus de 200 colonnes J'ai besoin de ne conserver que le quart des colonnes (on va gagner de la place !).
Aussi j'ai essayer de faire un bout de code qui dans le tableau va boucler colonne par colonne pour voir si elle répond au besoin ou non si non suppression si oui on passe à la suivante oui c'est assez lourdeau dit comme cela...
Je vous joins un fichier test d'un tableau de 25 colonnes.... Et à ce jour si j'interromps la macro le travail est fait proprement mais sinon elle dure indéfiniment et je n'arrive pas à terminer la tâche.
Auriez-vous des idées pour accélérer largement le code? L'objectif est de conserver seulement les colonnes dont le titre contient dans l'exemple soit Ababa soit Tire : et c'est bien contient car l'intitulé peut varier...
Merci de votre aide
Et je m'excuse si la méthode que j'emploie est très débutante
Si je comprends bien, tu as inversé le calcul en partant non pas de la première mais de la dernière colonne ce qui te permet de ne jamais oublié une occurence?
C'est bien ça et pour être plus précis quand on fait une boucle pour supprimer une ligne qui est l'exemple le plus courant on commence TOUJOURS par la fin et on remonte et idem pour les colonnes
Exemple :
j'ai 10 lignes de 2 à 11
Si tu supprimes par le début des que tu supprimes la ligne 2 la ligne 3 passe en N° 2 etc
Si tu pars de la fin tu supprimes la ligne 10 puis tu remontes d'une ligne tu supprimes la ligne 9 etc
VB:
Sub Test_A()
Dim i% 'Declaration de ma variable
For i = 11 To 2 Step -1 'Ma boucle de 11 à 2
Rows(i).Delete 'je supprime la ligne entière N°10 puis N°9 puis N°8 etc
Next i
End Sub
Avec la macro Test_A on obtient ceci
==>
VB:
Sub Test_B()
Dim i% 'Declaration de ma variable
For i = 2 To 11 'Ma boucle de 2 à 11
Rows(i).Delete 'je supprime la ligne entière N°2 puis N°3 puis N°4 etc mais les N° de ligne remonte à chaque fois...
Next i
End Sub
Avec la macro Test_B on obtient cela
==>
Tu vois la différence et le problème si tu fais pas la boucle de suppression dans le bon sens !