Si cellule contient #, vider contenu

Bonjour,

Est-ce que quelqu'un peut m'aider pour trouver le code vba pour Excel

SI les cellules de la plage K4 a K400 contiennent soit un chiffre ou un caractère autre qu'une lettre, effacer le contenu des cellules

Merci,


Windows / Edge 120.0.0.0

5 réponses

  1. Bonjour,

    Le code suivant efface la plage si une cellule est vide.  Essaie :

    Sub test()
    Const Tabl = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLLMNOPQRSTUVWXYZ"
    Dim C As Range, Teste As Boolean, L As String, I As Long
    For Each C In Range("K4:K400")
      If C <> "" Then
        For I = 1 To Len(C.Value)
          L = Mid(C.Value, I, 1)
          If InStr(1, Tabl, L) = 0 Then
            [K4:K400] = ""
            Exit Sub
          End If
        Next I
      Else
        [K4:K400] = ""
        Exit Sub
      End If
    Next C
    End Sub
    

    Daniel


    0
    1. Bonjour Daniel, merci pour le retour et le code VBA

      Votre code ne fonctionne pas bien. A la colonne K, j'ai des noms complets (exemple SERGE RICHARD, ÉTIENNE LEMAIRE, JEAN-PIERRE FORTIN), et suite au lancement de la macro, tous les noms complets s'efface aussi. Faire attention, il y a des accents et des traits d'union a conserver

      Le genre d'information que je veux qui s'efface est comme suit

      #BES152278

      #783728505

      2A9A2A310MC214269

      Mais tout ce qui contient des lettres seulement, ne doit pas s'effacer

      Merci et bonne journée,

      0
      1. Essaie :

        Sub test()
        Const Tabl = "abcdefghijklmnopqrstuvwxyzéèëêôöâäûü'-"
        Dim C As Range, Teste As Boolean, L As String, I As Long
        For Each C In Range("K4:K400")
          For I = 1 To Len(C.Value)
            L = Mid(LCase(C.Value), I, 1)
            If InStr(1, Tabl, L) = 0 Then
              C.Value = ""
              Exit For
            End If
          Next I
        Next C
        End S

        Au besoin, rajoute des lettres accentuées. Avec les prénoms, l'imagination est au pouvoir. J'ai aussi ajouté l'apostrophe.

        Daniel


        0
        1. Bonjour Daniel,

          Rien a  changé, tout disparait aussi. Tu dis avec les prénoms, donc je dois ajouter tous les prénoms a la liste ? 

          0
          1. J'ai fait les tests, avec une liste de test. Envoie-moi la liste qui te sert pour les tests. Non, il faut ajouter les caractères que je n'ai pas mis sur la ligne :

            Const Tabl = "abcçdefghijklmnopqrstuvwxyzéèëêôöâäûü-"

            Si, par exemple tu as un prénom avec un O barré, une tilde ou quoi que soit d'autre.

            Daniel

            PS. Rajoute le "ç".


            0