Supprimer les lignes d'apparence vide alors qu'il y a une formule

lolodepau

XLDnaute Junior
Bonjour a tous,
je voudrais bien un coup de main pour un macro qui me permet de supprimer les lignes vides d’apparence dans un tableau ("H6:K406") car il y a une formule du type =si(X="";"";X).
Merci
 

lolodepau

XLDnaute Junior
Re : Supprimer les lignes d'apparence vide alors qu'il y a une formule

Voila alors sa se trouve dans le second tableau pour mon etape 4 ! le probleme c'est que le tableau peut varier des fois il peut y avoir plus de lignes et d'autres fois moins de lignes donc voila.
A votre écoute !
 

Pièces jointes

  • tableau.zip
    230.7 KB · Affichages: 40
  • tableau.zip
    230.7 KB · Affichages: 40
  • tableau.zip
    230.7 KB · Affichages: 41

ROGER2327

XLDnaute Barbatruc
Re : Supprimer les lignes d'apparence vide alors qu'il y a une formule

Re...

Alors quelqu'un pour me sauver ? :confused:
Oui, oui ! Ça vient...

Les données réelles n'arrive qu'au quarante-sixième message, on peut prendre cinq minutes...

Revenons aux choses sérieuses.
J'ouvre le classeur et, surprise, aucune donnée "texte" ou nombre, mais des valeurs d'erreur partout (#REF!). D'où le blocage.
De plus, le tableau à traiter n'est pas les colonnes A à K mais les colonnes B à K à partir de la ligne 411. Ça change des choses...

Question : voulez-vous conserver les lignes comportant des valeurs d'erreur ? Si oui :​
VB:
Sub Nettoyertab2()

Dim i&, j&, k&, l&, c&, s$, plg As Range
    With Application: .ScreenUpdating = False: .Calculation = xlCalculationManual: .EnableEvents = False: End With
    Set plg = Range("B411:K411") 'première ligne de données
    l = plg.Row
    c = plg.Columns(1).Column
    k = plg.Columns.Count
    For i = Cells(Rows.Count, c).End(xlUp).Row To l Step -1
        For j = c To c + k - 1
            If VarType(Cells(i, j).Value) = 10 Then s = "@": Exit For
            s = s & Cells(i, j).Value
        Next
        If s = "" Then Rows(i).Resize(1, k).Offset(0, c - 1).Delete shift:=xlUp Else s = ""
    Next
    With Application: .EnableEvents = True: .Calculation = xlCalculationAutomatic: .ScreenUpdating = True: End With
End Sub
Sinon :​
VB:
Sub Nettoyertab2()

Dim i&, j&, k&, l&, c&, s$, plg As Range
    With Application: .ScreenUpdating = False: .Calculation = xlCalculationManual: .EnableEvents = False: End With
    Set plg = Range("B411:K411") 'première ligne de données
    l = plg.Row
    c = plg.Columns(1).Column
    k = plg.Columns.Count
    For i = Cells(Rows.Count, c).End(xlUp).Row To l Step -1
        For j = c To c + k - 1
            If VarType(Cells(i, j).Value) = 10 Then s = "": Exit For
            s = s & Cells(i, j).Value
        Next
        If s = "" Then Rows(i).Resize(1, k).Offset(0, c - 1).Delete shift:=xlUp Else s = ""
    Next
    With Application: .EnableEvents = True: .Calculation = xlCalculationAutomatic: .ScreenUpdating = True: End With
End Sub
Dites-moi ce que cela donne.​



ROGER2327
#5899


Samedi 7 Merdre 139 (Nativité de Monsieur Plume, propriétaire - fête Suprême Quarte)
5 Prairial An CCXX, 5,9294h - canard
2012-W21-4T14:13:50Z
 

lolodepau

XLDnaute Junior
Re : Supprimer les lignes d'apparence vide alors qu'il y a une formule

Les deux on fait planté excel avec comme message,
"Erreur automatique
l'objet invoquer c'est déconnecté de ses clients"

??? C'est bizarre, je dois surement mal m'exprimer,
alors en admettant que le tableau est remplit de formules, je fais mon blabla et hop une parti du tableau affiche des résultats comme demande dans la formules et les autres cellules reste d'apparence vides comme il est demander dans la formules. Je voudrais que les cellules d'apparence vide se supprime et qu'il ne me reste que le tableau avec que les cellule ou il y a un résultat afficher, je peux t'envoyer mon fichier complet par mail si tu tiens a résoudre mon problème.

Merci pour ton temps et la volonté que tu et vous me consacrez.
 

JNP

XLDnaute Barbatruc
Re : Supprimer les lignes d'apparence vide alors qu'il y a une formule

Re :),
Ton fichier fourni fait référence à des données... que tu as supprimé :eek: !
D'où l'apparition de #REF! qui vont pas vraiment faire avancer le schmimblick :rolleyes:...
A suivre... :cool:
 
G

Guest

Guest
Re : Supprimer les lignes d'apparence vide alors qu'il y a une formule

Bonjour,
Hello Roger:D:D:D, JNP:D:D:D

notre ami lolodepau à dit:
Je voudrais que les cellules d'apparence vide se supprime et qu'il ne me reste que le tableau avec que les cellule ou il y a un résultat afficher

Si on supprime des cellules au milieu d'un tableau ton tableau perdra sa cohérence. Mais sans doute voulais-tu parler d'effacer la formule?!

@JNP, Roger, je plussoie grandement.... fournir un tableau avec les formules et données bidon semble très difficile.

A+
 
G

Guest

Guest
Re : Supprimer les lignes d'apparence vide alors qu'il y a une formule

Re,

Nous sommes sur un forum de partage et il est essentiel que les demandeurs participent d'une quelconque manière à cette base de connaissance. Cela peut-être simplement en fournissant l'effort de joindre un fichier exemple avec des données non confidentielles qui permettra au futurs utilisateurs du forum de voir de quoi il retourne.

Si les choses sont traitées par mail elle ne profiteront qu' au demandeur.

A+
 

ROGER2327

XLDnaute Barbatruc
Re : Supprimer les lignes d'apparence vide alors qu'il y a une formule

Re...


(...) en admettant que le tableau est remplit de formules, je fais mon blabla et hop une parti du tableau affiche des résultats comme demande dans la formules et les autres cellules reste d'apparence vides comme il est demander dans la formules. (...)
Si on admet ceci, le code proposé doit fonctionner.

Mais, mais... Si on admet ceci, on n'obtiendra pas de message
(...)
"Erreur automatique
l'objet invoqué s'est déconnecté de ses clients"
(...)
avec le code proposé.
Ce genre de truc provient certainement d'une autre procédure, une liaison externe dont il n'a jamais été fait mention jusqu'ici, peut-être.

En tout cas, c'est un autre problème, moins dans mes cordes, je le crains. Quoi qu'il en soit, tant que ce problème n'est pas clairement posé, on ne pourra pas le résoudre.

Questions :
Votre classeur fait-il appel à une base de données externes ? Si oui, comment la liaison est-elle définie ? Est-elle active lors de l'exécution du nettoyage du tableau ? Si oui, le problème ne vient-il pas de là ? Etc.

Je pense que vous devriez ouvrir une nouvelle discussion à ce propos, en donnant des explications complètes. Il se trouvera bien quelques familiers des liaisons pour avoir une idée.

(..) je peux t'envoyer mon fichier complet par mail si tu tiens a résoudre mon problème.
(...)
Je ne le souhaite pas pour au moins deux raisons :
  1. À mon sens, l'intérêt du forum réside dans la publicité des discussions qui doivent être accessibles, et éventuellement utiles, à tous. Si on entre dans la résolution privée de problèmes très spécifiques, on rentre dans l'activité professionnelle : c'est une autre paires de manches...
  2. Le problème que je suspecte n'est pas de ceux que je maîtrise le mieux : d'autres seront beaucoup plus efficaces en la matière.


Merci pour ton temps et la volonté que tu et vous me consacrez.
C'est avec plaisir.


ROGER2327
#5901


Samedi 7 Merdre 139 (Nativité de Monsieur Plume, propriétaire - fête Suprême Quarte)
5 Prairial An CCXX, 6,3991h - canard
2012-W21-4T15:21:28Z


Bonjour JNP, Hasco.
 
Dernière édition:

Discussions similaires

Réponses
4
Affichages
220
Réponses
11
Affichages
480

Statistiques des forums

Discussions
312 338
Messages
2 087 398
Membres
103 537
dernier inscrit
alisafred974