Suppression colonne selon titre

Résolu/Fermé
rimoa Messages postés 136 Date d'inscription samedi 9 février 2013 Statut Membre Dernière intervention 16 mars 2024 - 19 mars 2023 à 04:20
rimoa Messages postés 136 Date d'inscription samedi 9 février 2013 Statut Membre Dernière intervention 16 mars 2024 - 24 mars 2023 à 04:10

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 22793 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 18 mai 2024 1 467
19 mars 2023 à 08:27

bonjour,

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

0
rimoa Messages postés 136 Date d'inscription samedi 9 février 2013 Statut Membre Dernière intervention 16 mars 2024 1
22 mars 2023 à 21:37

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 22793 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 18 mai 2024 1 467
23 mars 2023 à 07:37

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 136 Date d'inscription samedi 9 février 2013 Statut Membre Dernière intervention 16 mars 2024 1
23 mars 2023 à 13:15

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 22793 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 18 mai 2024 1 467
23 mars 2023 à 13:53

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 136 Date d'inscription samedi 9 février 2013 Statut Membre Dernière intervention 16 mars 2024 1 > yg_be Messages postés 22793 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 18 mai 2024
24 mars 2023 à 04:10

Super ça fonctionne, merci beaucoup pour votre aide

0
rimoa Messages postés 136 Date d'inscription samedi 9 février 2013 Statut Membre Dernière intervention 16 mars 2024 1
23 mars 2023 à 13:56

Merci du retour rapide, je testerai et vous confirmerai

0