Macro pour Hauteur de ligne = 0 si résultat de fonction = " " ?
Résolu
bbtronic
Messages postés
10
Date d'inscription
Statut
Membre
Dernière intervention
-
bbtronic Messages postés 10 Date d'inscription Statut Membre Dernière intervention -
bbtronic Messages postés 10 Date d'inscription Statut Membre Dernière intervention -
A voir également:
- Macro pour Hauteur de ligne = 0 si résultat de fonction = " " ?
- Fonction si et - Guide
- Partage de photos en ligne - Guide
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Resultat foot - Télécharger - Vie quotidienne
- Formulaire en ligne de meta - Guide
7 réponses
Bonsoir le fil, bonsoir le forum,
Pardi ! Gros malin... Tu as mis des espaces (" ") dans tes formules... Donc les cellules contenaient entre 3 et 4 espaces...
Applique la macro ci-dessous au bouton 4 :
Pardi ! Gros malin... Tu as mis des espaces (" ") dans tes formules... Donc les cellules contenaient entre 3 et 4 espaces...
Applique la macro ci-dessous au bouton 4 :
Sub Macro1() Dim EMG As Worksheet Dim TC As Variant Application.ScreenUpdating = False Set EMG = Sheets("EMG") TC = EMG.Range("A1:D114") For I = 1 To UBound(TC, 1) T = "" For J = 1 To UBound(TC, 2) T = T & TC(I, J) Next J If T = " " Or T = " " Then EMG.Rows(I).Hidden = True Else EMG.Rows(I).Hidden = False Next I Application.ScreenUpdating = True End Sub
Bonjour Bbtronic, bonjour le forum,
Peut-être comme ça :
Peut-être comme ça :
Sub Macro1() Dim O As Worksheet 'déclare la variable O (Onglet) Dim TC As Variant 'déclare la variable TC (Tableau de Cellules) Set O = Sheets("Feuil2") 'définit l'onglet O (à adapter) TC = O.Range("A1:C114") 'définit le tableau de cellules TC For I = 1 To UBound(TC, 1) 'boucle sur toutes les lignes I du tableau de cellules TC 'si la somme des 3 valeurs de la ligne I est nulle, masque la ligne, sinon affiche la ligne If Application.WorksheetFunction.Sum(Application.Index(TC, I)) = 0 Then O.Rows(I).Hidden = True Else O.Rows(I).Hidden = False Next I 'prochaine ligne de la boucle End Sub
Bonjour et merci pour aide..
La feuille est nommé EMG
La zone de cellule de la feuille EMG est A1:D114
J'ai donc adapté ta macro ainsi:
MAIS ça ne marche pas et coince au niveau de la ligne 'If appli...etc
Je ne sais pas pourquoi
La feuille est nommé EMG
La zone de cellule de la feuille EMG est A1:D114
J'ai donc adapté ta macro ainsi:
Sub Macro1() Dim EMG As Worksheet Dim TC As Variant Set EMG = Sheets("EMG") TC = EMG.Range("A1:D114") For I = 1 To UBound(TC, 1) If Application.WorksheetFunction.Sum(Application.Index(TC, I)) = 0 Then EMG.Rows(I).Hidden = True Else EMG.Rows(I).Hidden = False Next I End Sub
MAIS ça ne marche pas et coince au niveau de la ligne 'If appli...etc
Je ne sais pas pourquoi
Bonjour Bbtronic, bonjour le forum,
Tu as bien adapté le code pourtant. Je ne sais pas non plus. Les tests que j'avais fait chez moi sur deux lignes à peine fonctionnaient correctement...
Peut-être un problème de références (menu : Outil/Références...) dans VBA. Regarde les références que j'ai et compare :

Tu as bien adapté le code pourtant. Je ne sais pas non plus. Les tests que j'avais fait chez moi sur deux lignes à peine fonctionnaient correctement...
Peut-être un problème de références (menu : Outil/Références...) dans VBA. Regarde les références que j'ai et compare :

Bonjour tout le monde,
ThauTheme, mes respects de l'après midi.
Peut être une erreur dûe à ... une erreur (#N/A, #VALEUR, #DIV/0) dans une des cellules de la plage.
ThauTheme, mes respects de l'après midi.
Peut être une erreur dûe à ... une erreur (#N/A, #VALEUR, #DIV/0) dans une des cellules de la plage.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Bonjour le fil, bonjour le forum,
Mes respect itou Pijaku !
je navet (dans ce cas on peut) pas pensé à cela. Dis-nous si c'est le cas et j'essaierai de trouver une solution...
Mes respect itou Pijaku !
je navet (dans ce cas on peut) pas pensé à cela. Dis-nous si c'est le cas et j'essaierai de trouver une solution...
Re-salut Thautheme, et merci a pijaku de s'intéresser à mon problème,
pijaku:
L'ensemble des cellules A1:D114 ont été testées et affiche bien l'info de la feuille 1 via la formule... donc pas de cellule erreur.
Thautheme:
je suis sur Miscrosoft Excel 2010 et d'une part je ne sais pas où trouver ton info "références - VBAProject", d'autre part que faut-il faire?
En tout cas, notez que je n'ai absolument pas votre niveau et qu'être le plus scolaire possible m'aidera grandement..:):)
pijaku:
L'ensemble des cellules A1:D114 ont été testées et affiche bien l'info de la feuille 1 via la formule... donc pas de cellule erreur.
Thautheme:
je suis sur Miscrosoft Excel 2010 et d'une part je ne sais pas où trouver ton info "références - VBAProject", d'autre part que faut-il faire?
En tout cas, notez que je n'ai absolument pas votre niveau et qu'être le plus scolaire possible m'aidera grandement..:):)
Bonjour le fil, bonjour le forum,
À vrai dire c'est pas trop mon truc aussi les références. Toutefois, il m'est arrivé de devoir en charger pour faire fonctionner un code. Il faut ouvrir VBE (Visual Basic Editor) avec le raccourci [Alt]+[F11]. Là, tu fais menu Outil/Références. Tu compares avec celles que j'ai cochées. Si il t'en manque, tu les cherches dans la liste et tu les coches...
À vrai dire c'est pas trop mon truc aussi les références. Toutefois, il m'est arrivé de devoir en charger pour faire fonctionner un code. Il faut ouvrir VBE (Visual Basic Editor) avec le raccourci [Alt]+[F11]. Là, tu fais menu Outil/Références. Tu compares avec celles que j'ai cochées. Si il t'en manque, tu les cherches dans la liste et tu les coches...
A mon humble avis, il ne s'agit pas de cette référence.
La library Microsoft Forms est utilisée pour les UserForms et leurs contrôles, pas pour les WorkSheetFunction.
Essaie de mixer avec et sans Application et avec et sans WorksheetFunction, pour voir ce qui ne passe pas :
A ce niveau là, sans classeur exemple, on y va à tâtons sur toutes les pistes imaginables...
La library Microsoft Forms est utilisée pour les UserForms et leurs contrôles, pas pour les WorkSheetFunction.
Essaie de mixer avec et sans Application et avec et sans WorksheetFunction, pour voir ce qui ne passe pas :
If Application.WorksheetFunction.Sum(Application.WorksheetFunction.Index(TC, I)) = 0
If Application.Sum(Application.Index(TC, I)) = 0
A ce niveau là, sans classeur exemple, on y va à tâtons sur toutes les pistes imaginables...
J'étais absent ces derniers temps...
Je vous met a dispo le fichier via ce lien:
https://www.dropbox.com/s/dyyfr0b0blk0haj/RAPPORT%20GENERAL%20b.xlsm?dl=0
Il n'y a qu'un onglet"EMG" mais plus tard j'en rajouterai d'autre (une fois la solution trouvée.
L'idée est qu'en cliquant sur le "bouton 4" la hauteur des lignes vides =0
Merci encore
Je vous met a dispo le fichier via ce lien:
https://www.dropbox.com/s/dyyfr0b0blk0haj/RAPPORT%20GENERAL%20b.xlsm?dl=0
Il n'y a qu'un onglet"EMG" mais plus tard j'en rajouterai d'autre (une fois la solution trouvée.
L'idée est qu'en cliquant sur le "bouton 4" la hauteur des lignes vides =0
Merci encore
Maître ThauTheme ! Un grand Bravo et surtout mille fois MERCI .. c'est exactement ce que je cherchais. C'est génial ! Ça marche du tonnerre. EXTRA ! :):):):):)