rechercher et effacer les cellules qui ont seulement un retour à la ligne

  • Initiateur de la discussion Initiateur de la discussion Boby71C
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Boby71C

XLDnaute Impliqué
Bonsoir à tous
Je cumul des données hebdomadaires dans des cellules et je rajoute automatiquement un retour à la ligne avant de changer de cellule.
ex:
Sem 40: texte 1
Sem 41: texte 2
Sem 42: texte 3
ici, un retour pour la prochaine mise à jour


Jusque là, tout va bien.

Si j'ai une cellule qui ne comporte pas de commentaires précédents et qui, lors d'une mise à jour n'a toujours pas de données,
ex:
Retour sans texte

je voudrais pouvoir rechercher ces cellules, et enlever ces retours à la ligne qui sont inutiles, pour ne pas les cumuler inutilement et surtout, ne pas trop augmenter le nombre de feuilles de mon document à l'impression.

Connaissez vous un morceau de code VBA pour résoudre mon problème ?

Merci pour votre aide
 
Re : rechercher et effacer les cellules qui ont seulement un retour à la ligne

Bonsoir,

Code:
ndl = range("A1").end(xldown).row

For i = 1 to ndl
     if i > ndl then exit sub
     If range("A"&i) = "" then rows(i & ":" & i).delete
     i = i-1
     ndl = ndl - 1
next i

A+
David
 
Dernière édition:
Re : rechercher et effacer les cellules qui ont seulement un retour à la ligne

Bonsoir David
Merci pour ton aide

J'ai essayé, mais ça ne fonctionne pas.
Je pense que ça vient du fait que je ne comprends pas le code.
Si je comprends:
La variable ndl se positionne à la dernière cellule renseignée en colonne A
I prend la valeur de ndl
ensuite, je ne comprends pas très bien.
Pourrais tu m'expliquer s'il te plais
Merci
ndl = range("A1").end(xldown).row

For i = 1 to ndl
if i > ndl then exit sub
If range("A"&i) = "" then rows(i & ":" & i).delete
i = i-1
ndl = ndl - 1
next i

J'ai remplacé A1 par C1 car c'est sur les cellules de cette colonne que je désir tester
J'ai également remplacé
If range("A" par "C"
 
Re : rechercher et effacer les cellules qui ont seulement un retour à la ligne

au lieu de compter en partant d'en haut compte en partant d'en bas :

ndl = range("C65536").end(xlup).row

pour chaque ligne si la case Cligne est vide on supprime la ligne !

Autre astuce, insère une colonne avec un compteur de 1 à n
Tri selon la colonne C, enlève les blanc et retri selon ta colonne compteur !

David
 
Re : rechercher et effacer les cellules qui ont seulement un retour à la ligne

Bonsoir,

essaie ainsi :

Code:
For Each cel In Range("C2:C" & [C65000].End(xlUp).Row)
    If Right(cel.Value, 1) = Chr(10) Then cel.Value = Left(cel.Value, Len(cel) - 1)
Next cel
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Retour