Cellules apparemment vides

Bonjour,

J’ai un fichier dans lequel il y a des cellules vides que je dois supprimer

Il y a des cellules apparemment vides, mais

quand je fais la macro avec une boucle :

If ActiveCell = "" Then

Activecell = « coucou »

End if

ça écrit ce coucou dans la plupart des cellules vides, mais pas dans certaines

qui sont visiblement vides, mais que le code ignore.

Quand j’efface (avec la touche delete) ces cellules vides et je refais la macro, le mot coucou y apparaît aussi

Quel est le code à écrire qui réagit sur ces cellules visiblement vides ?

Merci pour toute aide

Aubin

Bonjour,

Nous ne sommes pas devins... Pour comprendre pourquoi ces cellules a priori vides ne le sont pas, il faudrait joindre un fichier dans lequel le soucis se présente !

Bonjour Pedro,

D'abord merci pour ton intervention.

Le fichier en question est la suite d'une liste d'adresses avec numéros de téléphone, avec: A1: nom, A2:prénom, A3: adresse etc.

Avec Word, je transforme cette liste en étiquettes que je recopie dans Excel dans la colonne "A" pour l'imprimer ensuite et faire un carnet d'adresses. Ces étiquettes ont entre 2 et 6 lignes, et je veux conserver une seule ligne entre chaque étiquette. Si les lignes vides réagissaient au code: si activecell = "", je pourrais écrire une macro avec des "si" pour laisser une seule ligne, mais il y a des cellules apparamment vides qui ne réagissent pas à ce code.

Je joins ici les deux premières pages de ce fichier, dans lequel j'ai laissé les "coucou" afin que les cellules apparamment vides sortent clairement.

Avec quel code est-ce que je peux les atteindre ?

Merci d'avance

Aubin

9vides.xls (15.00 Ko)

Avec la fonction NBCAR(TaCellule) tu peux te rendre facilement compte que toutes tes cellules ont au moins un caractère (à priori, un espace pour les cellules avec un seul caractère).

En macro, tu peux procéder par exemple comme ça :

Sub SupprLig()

Dim Lig As Long

With Sheets("Feuil1")
    For Lig = .Range("A" & Rows.Count).End(xlUp).Row To 1 Step -1 'Boucle sur les lignes en partant de la dernière
        If Len(.Range("A" & Lig)) < 2 Then .Rows(Lig).Delete 'Suppression ligne si moins de 2 caractères
    Next Lig
End With

End Sub

Merci beaucoup pour ton aide, c'est exactement le coup de main dont j'avais besoin

Merci beaucoup pour ton aide, c'est exactement le coup de main dont j'avais besoin

Merci du retour, pense à valider le sujet !

Rechercher des sujets similaires à "apparemment vides"