Supprimer colonne sous condition [Résolu]

Messages postés
7
Date d'inscription
jeudi 1 mai 2008
Dernière intervention
23 mai 2008
- 1 mai 2008 à 11:26 - Dernière réponse :
Messages postés
7
Date d'inscription
jeudi 1 mai 2008
Dernière intervention
23 mai 2008
- 2 mai 2008 à 10:33
Bonjour à tous,

J'ai un tableau en excel 2003 dans lequel je dois supprimer des lignes et des colonnes sous certaines conditions.
Au niveau des lignes, pas de souci, j'ai trouvé la solution.
Par contre pour les colonnes, je suis coincée.
Si le titre d'une ou plusieurs colonnes contient le mot "provisoire", je désire supprimer la colonne correspondante.

Merci d'avance pour votre aide

maggg
Afficher la suite 

Votre réponse

7 réponses

Meilleure réponse
Messages postés
682
Date d'inscription
vendredi 6 avril 2007
Dernière intervention
4 août 2012
1 mai 2008 à 12:45
3
Merci
dnas la mesure où ce mot est dans la premiere ligne sinon dans le if cells(1,i) deviendra if cells(x,i) x étant le numéro de la ligne

for i = 1 to 50    ' recherche dans les 50 premieres colonnes
    if cells(1,i)= "provisoire" then      'si la cellule contiend ce que tu recherche
        Columns(i).Delete Shift:=xlToLeft     'supprime la colonne
       exit for       'et sort de la boucle
    end if
next i
quand à ton code tu dois pouvoir le remplacer  par
Sub SuppressionLigne()
    Application.ScreenUpdating = False
    For i = Range("a65536").End(xlUp).Row To 1 Step -1
        If Cells(i, 1) ="*etat*" Then
             rows (i).Delete Shift:=xlUp
            exit for
        end if
    Next i
End Sub

dernier petit truc pour faciliter la lecture de ton code (et uniquement pour ça) pense à indenter tes lignes comme je l'ai fait
c'est bien plus facile pour voir si tu n'as pas oublié un next ou un end if en cours de route

[reglement.aspx ]si c'est la solution, penser : REPONSE ACCEPTEE

Merci pile_poil 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 90 internautes ce mois-ci

Commenter la réponse de pile_poil
Messages postés
682
Date d'inscription
vendredi 6 avril 2007
Dernière intervention
4 août 2012
1 mai 2008 à 11:48
0
Merci
bonjour
si tu sais supprimer une ligne je ne vois pas où est le probleme pour supprimer une colonne lol
à la place de Rows tu mets Columns et le tour est joué
de plus quand tu as un probleme comme ceci la solution simple c'est de passer par l'enregistreur de macro qui va t'écrire directement le code correspondant aux actions que tu feras dans ta feuille. c'est commode pour retrouver rapidement une syntaxe

[reglement.aspx ]si c'est la solution, penser : REPONSE ACCEPTEE
Commenter la réponse de pile_poil
Messages postés
7
Date d'inscription
jeudi 1 mai 2008
Dernière intervention
23 mai 2008
1 mai 2008 à 12:25
0
Merci
Bonjour pile_poil

Merci pour ta réponse.
Je suis à mes débuts en visual basic, cela se voit

Le fichier dans lequel je travaille vient d'une banque de données du boulot.
Le mot "provisoire" ne se trouvera pas toujours dans les mêmes colonnes.
J'ai donc besoin que la macro fasse la recherche pour moi.

Voici ce que j'ai trouvé pour les lignes :

Sub SuppressionLigne()
Application.ScreenUpdating = False
For i = Range("a65536").End(xlUp).Row To 1 Step -1
If Cells(i, 1) Like "*etat*" Then Cells(i, 1).ClearContents
Next
Columns("A:A").SpecialCells(xlCellTypeBlanks).EntireRow.Delete
End Sub

Donc changer Rows par Columns ne fonctionne pas.

J'espère être claire, parce que c'est encore un peu chinois pour moi

Merci d'avance pour ton aide

maggg
Commenter la réponse de maggg
Messages postés
7
Date d'inscription
jeudi 1 mai 2008
Dernière intervention
23 mai 2008
1 mai 2008 à 13:09
0
Merci
Un tout grand merci pour ton aide et tes conseils.
Cela fonctionne

maggg
Commenter la réponse de maggg
Messages postés
682
Date d'inscription
vendredi 6 avril 2007
Dernière intervention
4 août 2012
1 mai 2008 à 13:14
0
Merci
pas de probleme  bon week end à raloonge !

[reglement.aspx ]si c'est la solution, penser : REPONSE ACCEPTEE
Commenter la réponse de pile_poil
Messages postés
3877
Date d'inscription
mardi 19 mars 2002
Dernière intervention
23 août 2018
1 mai 2008 à 23:18
0
Merci
Tu dis
Si le titre d'une ou plusieurs colonnes contient le mot "provisoire"

Il faut savoir si le mot "provisoire" est toujours écrit en minuscule, si la cellule contient seulement "provisoire" ou peut contenir d'autres mots en plus,...

Si c'est le cas, la démarche peut différer un peu.

MPi²
Pour ceux qui programment sous Office, n'oubliez pas qu'il existe un forum dédié à ces applications VBA....... ICI
Commenter la réponse de cs_MPi
Messages postés
7
Date d'inscription
jeudi 1 mai 2008
Dernière intervention
23 mai 2008
2 mai 2008 à 10:33
0
Merci
Bonjour MPi,

Oui, en effet.
Etant donné qu'il y a d'autres mots dans la cellule, j'ai adapté avec LIKE et cela fonctionne parfaitement.

Merci

maggg
Commenter la réponse de maggg

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.