Suppression colonne selon titre

Résolu
rimoa Messages postés 153 Date d'inscription   Statut Membre Dernière intervention   -  
rimoa Messages postés 153 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.

4 réponses

  1. yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention   Ambassadeur 1 588
     

    bonjour,

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

    0
  2. rimoa Messages postés 153 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
  3. rimoa Messages postés 153 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
    1. yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention   1 588
       

      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
      1. rimoa Messages postés 153 Date d'inscription   Statut Membre Dernière intervention   1 > yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention  
         

        Super ça fonctionne, merci beaucoup pour votre aide

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

    Merci du retour rapide, je testerai et vous confirmerai

    0