Suppression colonne selon titre

Résolu
rimoa Messages postés 149 Date d'inscription   Statut Membre Dernière intervention   -  
rimoa Messages postés 149 Date d'inscription   Statut Membre Dernière intervention   -

Bonjour,

Merci de m'aider à savoir mon erreur dans ce code

Il fonctionne bien pour deux colonnes mais pas pour la colonne DateF, à noter que le titre de la colonne est bien transcrit dans le code donc aucun doute là-dessus.

If cell.Value = "DateS" Or cell.Value = "DateF" Or cell.Value = "NewDate" Then cell.EntireColumn.Delete

Encore merci.

A voir également:

4 réponses

yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention   Ambassadeur 1 583
 

bonjour,

cell n'est probablement pas associée à la bonne cellule.

0
rimoa Messages postés 149 Date d'inscription   Statut Membre Dernière intervention   1
 

Merci pour la réponse.

Je n'arrive pas à voir où est l'erreur, voici le fichier test si vous pouvez le regarder svp

https://www.cjoint.com/c/MCwuGKg1qKm

0
yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention   1 583
 

Le code VBA n'est pas dans le fichier partagé.  Tu peux partager ici le texte du code VBA, en appliquant ceci: https://codes-sources.commentcamarche.net/faq/11288-poster-un-extrait-de-code

0
rimoa Messages postés 149 Date d'inscription   Statut Membre Dernière intervention   1
 

Bonjour, sorry j'avais oublié de copier le code. 

merci pour le lien de testing du code c'est nouveau pour moi, je vais voir comment l'utiliser.

Sub DeleteSpecifcColumn()
    Set MR = Range("A1:BR1")
    Worksheets("Export").Activate
    
    For Each cell In MR
        If cell.Value = "DateF" Or cell.Value = "DateS" Or cell.Value = "New Date" Or cell.Value = "Close Date" Then cell.EntireColumn.Delete
    Next
End Sub

0
yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention   1 583
 

C'est la logique de la boucle (for each) qui est défectueuse.

Un exemple:

Option Explicit

Sub DeleteSpecifcColumn()
Dim cell As Range, ncol As Long
Set cell = Worksheets("Export").[A1]
ncol = 1
Do While cell <> ""
    Debug.Print cell.Address, cell
    If cell.Value = "DateF" Or cell.Value = "DateS" Or cell.Value = "New Date" Or cell.Value = "Close Date" Then
        cell.EntireColumn.Delete
    Else
        ncol = ncol + 1
    End If
    Set cell = Worksheets("Export").Cells(1, ncol)
Loop
End Sub
1
rimoa Messages postés 149 Date d'inscription   Statut Membre Dernière intervention   1 > yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention  
 

Super ça fonctionne, merci beaucoup pour votre aide

0
rimoa Messages postés 149 Date d'inscription   Statut Membre Dernière intervention   1
 

Merci du retour rapide, je testerai et vous confirmerai

0