Je n'ai pas trouvez le code pour faire en sorte que lorsque je rentre une
valeur en E3 par exemple, (La qté rentrée en E3 génére des résultats dans les
lignes dessous) toutes les lignes vide de E4 à Exx (xx en fonction de la
longueur du tableau) soient masquées.
Private Sub Worksheet_Change(ByVal Target As Range) If Target.Address = Range("E3").Address And Range("E3")<>"" Then Range("E4", "E" & Range("E65535").End(xlUp).Row).SpecialCells(xlCellTypeBlanks).EntireRow.Hidden = True End If End Sub
Celà devrait faire
Dis moi !!!!
Salut à toi
Mets ce code dans le VBA de la feuille :
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = Range("E3").Address And Range("E3")<>"" Then
Range("E4", "E" &
Range("E65535").End(xlUp).Row).SpecialCells(xlCellTypeBlanks).EntireRow.Hidden = True
End If
End Sub
Private Sub Worksheet_Change(ByVal Target As Range) If Target.Address = Range("E3").Address And Range("E3")<>"" Then Range("E4", "E" & Range("E65535").End(xlUp).Row).SpecialCells(xlCellTypeBlanks).EntireRow.Hidden = True End If End Sub
si tu utilises la propriété "SpecialCells", il est préférable de la faire précéder de On error resume next ... car lorsqu'elle ne trouve pas de cellules corrrespondantes, elle se plante....
si tu utilises la propriété "SpecialCells", il est préférable de
la faire précéder de On error resume next ... car lorsqu'elle
ne trouve pas de cellules corrrespondantes, elle se plante....
si tu utilises la propriété "SpecialCells", il est préférable de la faire précéder de On error resume next ... car lorsqu'elle ne trouve pas de cellules corrrespondantes, elle se plante....
FFO
Bonjours michedenis
Effectivement lacune de ma part Heureusement que tu veilles Donc le code à prendre en considération :
Private Sub Worksheet_Change(ByVal Target As Range) If Target.Address = Range("E3").Address And Range("E3")<>"" Then On Error Resume Next Range("E4", "E" & Range("E65535").End(xlUp).Row).SpecialCells(xlCellTypeBlanks).EntireRow.Hidden = True End If End Sub
Merci pour ta judicieuse remarque !!!!
Bonjours michedenis
Effectivement lacune de ma part
Heureusement que tu veilles
Donc le code à prendre en considération :
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = Range("E3").Address And Range("E3")<>"" Then
On Error Resume Next
Range("E4", "E" &
Range("E65535").End(xlUp).Row).SpecialCells(xlCellTypeBlanks).EntireRow.Hidden = True
End If
End Sub
Effectivement lacune de ma part Heureusement que tu veilles Donc le code à prendre en considération :
Private Sub Worksheet_Change(ByVal Target As Range) If Target.Address = Range("E3").Address And Range("E3")<>"" Then On Error Resume Next Range("E4", "E" & Range("E65535").End(xlUp).Row).SpecialCells(xlCellTypeBlanks).EntireRow.Hidden = True End If End Sub
Merci pour ta judicieuse remarque !!!!
FFO
Rebonjours michedenis
Je rebondis sur ton autre remarque concernant ma syntaxe
Terrible !! Les 2 fonctionnent aussi chez moi. Merci de votre diligence.... Eric
"michdenis" a écrit :
| Les 2 fonctionnent et donnent le même résultat tout au moins chez moi
OK... il y a des automatismes pas facile à contrecarrer
;-)
eredrobal
Puis-je abuser de votre expertise? Même principe, dans un autre fichier les cellules sont vides mais en fait c'est le résultat d'une formule qui fait que la cellule est vide. Existe-til une solution?
J'ai une vision plus lointaine de l'évolution de mon fichier. Si l'on peut masquer les lignes comme précédement, peut-on faire appraitre les lignes masquer si dans la cellule d'à coté on rentre une valeur. Plus clairemement : Si je rentre un valeur en E3 cela me masque les lignes 5, 7, 10. Maintenant si je rentre en E4 une valeur, et que sur la ligne 5 cela me met un résultat, il faut que la ligne 5 apparaissent. Etc...
Suis clair?
Eric
"michdenis" a écrit :
| Les 2 fonctionnent et donnent le même résultat tout au moins chez moi
OK... il y a des automatismes pas facile à contrecarrer
;-)
Puis-je abuser de votre expertise?
Même principe, dans un autre fichier les cellules sont vides mais en fait
c'est le résultat d'une formule qui fait que la cellule est vide. Existe-til
une solution?
J'ai une vision plus lointaine de l'évolution de mon fichier. Si l'on peut
masquer les lignes comme précédement, peut-on faire appraitre les lignes
masquer si dans la cellule d'à coté on rentre une valeur. Plus clairemement :
Si je rentre un valeur en E3 cela me masque les lignes 5, 7, 10. Maintenant
si je rentre en E4 une valeur,
et que sur la ligne 5 cela me met un résultat, il faut que la ligne 5
apparaissent. Etc...
Suis clair?
Eric
"michdenis" a écrit :
| Les 2 fonctionnent et donnent le même résultat tout au moins chez moi
OK... il y a des automatismes pas facile à contrecarrer
Puis-je abuser de votre expertise? Même principe, dans un autre fichier les cellules sont vides mais en fait c'est le résultat d'une formule qui fait que la cellule est vide. Existe-til une solution?
J'ai une vision plus lointaine de l'évolution de mon fichier. Si l'on peut masquer les lignes comme précédement, peut-on faire appraitre les lignes masquer si dans la cellule d'à coté on rentre une valeur. Plus clairemement : Si je rentre un valeur en E3 cela me masque les lignes 5, 7, 10. Maintenant si je rentre en E4 une valeur, et que sur la ligne 5 cela me met un résultat, il faut que la ligne 5 apparaissent. Etc...
Suis clair?
Eric
"michdenis" a écrit :
| Les 2 fonctionnent et donnent le même résultat tout au moins chez moi
OK... il y a des automatismes pas facile à contrecarrer
;-)
michdenis
| Même principe, dans un autre fichier les cellules sont vides mais en fait | c'est le résultat d'une formule qui fait que la cellule est vide. Existe-til | une solution?
Cette façon de procéder évite de boucler sur l'ensemble de la plage de celllules !
'---------------------------------- Sub test() Dim X As Long X = Range("B65536").End(xlUp).Row
'Choisis une colonne libre de ta feuille 'celle de ton choix With Range("G1:G" & X) 'ici la colonne B représente celle de tes formules .Value = Range("B1:B" & X).SpecialCells(xlCellTypeFormulas).Value 'Masque toutes les lignes ou la formule retourne "" .SpecialCells(xlCellTypeBlanks).EntireRow.Hidden = True 'Libère la colonne utilisée .Value = "" End With
End Sub '----------------------------------
| Si je rentre un valeur en E3 cela me masque les lignes 5, 7, 10. Maintenant | si je rentre en E4 une valeur, | et que sur la ligne 5 cela me met un résultat, il faut que la ligne 5 | apparaissent. Etc..
Si ta ligne E4 est masquée, comment fais-tu pour saisir une donnée ? suis-je clair ?
| Même principe, dans un autre fichier les cellules sont vides mais en fait
| c'est le résultat d'une formule qui fait que la cellule est vide.
Existe-til
| une solution?
Cette façon de procéder évite de boucler sur l'ensemble de
la plage de celllules !
'----------------------------------
Sub test()
Dim X As Long
X = Range("B65536").End(xlUp).Row
'Choisis une colonne libre de ta feuille
'celle de ton choix
With Range("G1:G" & X)
'ici la colonne B représente celle de tes formules
.Value = Range("B1:B" & X).SpecialCells(xlCellTypeFormulas).Value
'Masque toutes les lignes ou la formule retourne ""
.SpecialCells(xlCellTypeBlanks).EntireRow.Hidden = True
'Libère la colonne utilisée
.Value = ""
End With
End Sub
'----------------------------------
| Si je rentre un valeur en E3 cela me masque les lignes 5, 7, 10.
Maintenant
| si je rentre en E4 une valeur,
| et que sur la ligne 5 cela me met un résultat, il faut que la ligne 5
| apparaissent. Etc..
Si ta ligne E4 est masquée, comment fais-tu pour saisir une donnée ?
suis-je clair ?
| Même principe, dans un autre fichier les cellules sont vides mais en fait | c'est le résultat d'une formule qui fait que la cellule est vide. Existe-til | une solution?
Cette façon de procéder évite de boucler sur l'ensemble de la plage de celllules !
'---------------------------------- Sub test() Dim X As Long X = Range("B65536").End(xlUp).Row
'Choisis une colonne libre de ta feuille 'celle de ton choix With Range("G1:G" & X) 'ici la colonne B représente celle de tes formules .Value = Range("B1:B" & X).SpecialCells(xlCellTypeFormulas).Value 'Masque toutes les lignes ou la formule retourne "" .SpecialCells(xlCellTypeBlanks).EntireRow.Hidden = True 'Libère la colonne utilisée .Value = "" End With
End Sub '----------------------------------
| Si je rentre un valeur en E3 cela me masque les lignes 5, 7, 10. Maintenant | si je rentre en E4 une valeur, | et que sur la ligne 5 cela me met un résultat, il faut que la ligne 5 | apparaissent. Etc..
Si ta ligne E4 est masquée, comment fais-tu pour saisir une donnée ? suis-je clair ?
michdenis
Et la ligne On Error resume next s'applique aussi en début de procédure !
"michdenis" a écrit dans le message de news:
| Même principe, dans un autre fichier les cellules sont vides mais en fait | c'est le résultat d'une formule qui fait que la cellule est vide. Existe-til | une solution?
Cette façon de procéder évite de boucler sur l'ensemble de la plage de celllules !
'---------------------------------- Sub test() Dim X As Long X = Range("B65536").End(xlUp).Row
'Choisis une colonne libre de ta feuille 'celle de ton choix With Range("G1:G" & X) 'ici la colonne B représente celle de tes formules .Value = Range("B1:B" & X).SpecialCells(xlCellTypeFormulas).Value 'Masque toutes les lignes ou la formule retourne "" .SpecialCells(xlCellTypeBlanks).EntireRow.Hidden = True 'Libère la colonne utilisée .Value = "" End With
End Sub '----------------------------------
| Si je rentre un valeur en E3 cela me masque les lignes 5, 7, 10. Maintenant | si je rentre en E4 une valeur, | et que sur la ligne 5 cela me met un résultat, il faut que la ligne 5 | apparaissent. Etc..
Si ta ligne E4 est masquée, comment fais-tu pour saisir une donnée ? suis-je clair ?
Et la ligne On Error resume next s'applique aussi en début de procédure !
"michdenis" <michdenis@hotmail.com> a écrit dans le message de news:
efgpLA2DJHA.3740@TK2MSFTNGP05.phx.gbl...
| Même principe, dans un autre fichier les cellules sont vides mais en fait
| c'est le résultat d'une formule qui fait que la cellule est vide.
Existe-til
| une solution?
Cette façon de procéder évite de boucler sur l'ensemble de
la plage de celllules !
'----------------------------------
Sub test()
Dim X As Long
X = Range("B65536").End(xlUp).Row
'Choisis une colonne libre de ta feuille
'celle de ton choix
With Range("G1:G" & X)
'ici la colonne B représente celle de tes formules
.Value = Range("B1:B" & X).SpecialCells(xlCellTypeFormulas).Value
'Masque toutes les lignes ou la formule retourne ""
.SpecialCells(xlCellTypeBlanks).EntireRow.Hidden = True
'Libère la colonne utilisée
.Value = ""
End With
End Sub
'----------------------------------
| Si je rentre un valeur en E3 cela me masque les lignes 5, 7, 10.
Maintenant
| si je rentre en E4 une valeur,
| et que sur la ligne 5 cela me met un résultat, il faut que la ligne 5
| apparaissent. Etc..
Si ta ligne E4 est masquée, comment fais-tu pour saisir une donnée ?
suis-je clair ?
Et la ligne On Error resume next s'applique aussi en début de procédure !
"michdenis" a écrit dans le message de news:
| Même principe, dans un autre fichier les cellules sont vides mais en fait | c'est le résultat d'une formule qui fait que la cellule est vide. Existe-til | une solution?
Cette façon de procéder évite de boucler sur l'ensemble de la plage de celllules !
'---------------------------------- Sub test() Dim X As Long X = Range("B65536").End(xlUp).Row
'Choisis une colonne libre de ta feuille 'celle de ton choix With Range("G1:G" & X) 'ici la colonne B représente celle de tes formules .Value = Range("B1:B" & X).SpecialCells(xlCellTypeFormulas).Value 'Masque toutes les lignes ou la formule retourne "" .SpecialCells(xlCellTypeBlanks).EntireRow.Hidden = True 'Libère la colonne utilisée .Value = "" End With
End Sub '----------------------------------
| Si je rentre un valeur en E3 cela me masque les lignes 5, 7, 10. Maintenant | si je rentre en E4 une valeur, | et que sur la ligne 5 cela me met un résultat, il faut que la ligne 5 | apparaissent. Etc..
Si ta ligne E4 est masquée, comment fais-tu pour saisir une donnée ? suis-je clair ?
eredrobal
Bonjour michdenis, Désolé pour le retard. Tu me dis "Si ta ligne E4 est masquée, comment fais-tu pour saisir une donnée ? suis-je clair ?" Les saisies ne se feront que dans la ligne 2. Toutes les autres lignes seront protégées à l'écriture. Je vais seulement tester ta solution. Je te tiens au courant. Merci pour tout Eric
"michdenis" a écrit :
Et la ligne On Error resume next s'applique aussi en début de procédure !
"michdenis" a écrit dans le message de news:
| Même principe, dans un autre fichier les cellules sont vides mais en fait | c'est le résultat d'une formule qui fait que la cellule est vide. Existe-til | une solution?
Cette façon de procéder évite de boucler sur l'ensemble de la plage de celllules !
'---------------------------------- Sub test() Dim X As Long X = Range("B65536").End(xlUp).Row
'Choisis une colonne libre de ta feuille 'celle de ton choix With Range("G1:G" & X) 'ici la colonne B représente celle de tes formules .Value = Range("B1:B" & X).SpecialCells(xlCellTypeFormulas).Value 'Masque toutes les lignes ou la formule retourne "" .SpecialCells(xlCellTypeBlanks).EntireRow.Hidden = True 'Libère la colonne utilisée .Value = "" End With
End Sub '----------------------------------
| Si je rentre un valeur en E3 cela me masque les lignes 5, 7, 10. Maintenant | si je rentre en E4 une valeur, | et que sur la ligne 5 cela me met un résultat, il faut que la ligne 5 | apparaissent. Etc..
Si ta ligne E4 est masquée, comment fais-tu pour saisir une donnée ? suis-je clair ?
Bonjour michdenis,
Désolé pour le retard.
Tu me dis "Si ta ligne E4 est masquée, comment fais-tu pour saisir une
donnée ? suis-je clair ?"
Les saisies ne se feront que dans la ligne 2. Toutes les autres lignes
seront protégées à l'écriture.
Je vais seulement tester ta solution. Je te tiens au courant.
Merci pour tout
Eric
"michdenis" a écrit :
Et la ligne On Error resume next s'applique aussi en début de procédure !
"michdenis" <michdenis@hotmail.com> a écrit dans le message de news:
efgpLA2DJHA.3740@TK2MSFTNGP05.phx.gbl...
| Même principe, dans un autre fichier les cellules sont vides mais en fait
| c'est le résultat d'une formule qui fait que la cellule est vide.
Existe-til
| une solution?
Cette façon de procéder évite de boucler sur l'ensemble de
la plage de celllules !
'----------------------------------
Sub test()
Dim X As Long
X = Range("B65536").End(xlUp).Row
'Choisis une colonne libre de ta feuille
'celle de ton choix
With Range("G1:G" & X)
'ici la colonne B représente celle de tes formules
.Value = Range("B1:B" & X).SpecialCells(xlCellTypeFormulas).Value
'Masque toutes les lignes ou la formule retourne ""
.SpecialCells(xlCellTypeBlanks).EntireRow.Hidden = True
'Libère la colonne utilisée
.Value = ""
End With
End Sub
'----------------------------------
| Si je rentre un valeur en E3 cela me masque les lignes 5, 7, 10.
Maintenant
| si je rentre en E4 une valeur,
| et que sur la ligne 5 cela me met un résultat, il faut que la ligne 5
| apparaissent. Etc..
Si ta ligne E4 est masquée, comment fais-tu pour saisir une donnée ?
suis-je clair ?
Bonjour michdenis, Désolé pour le retard. Tu me dis "Si ta ligne E4 est masquée, comment fais-tu pour saisir une donnée ? suis-je clair ?" Les saisies ne se feront que dans la ligne 2. Toutes les autres lignes seront protégées à l'écriture. Je vais seulement tester ta solution. Je te tiens au courant. Merci pour tout Eric
"michdenis" a écrit :
Et la ligne On Error resume next s'applique aussi en début de procédure !
"michdenis" a écrit dans le message de news:
| Même principe, dans un autre fichier les cellules sont vides mais en fait | c'est le résultat d'une formule qui fait que la cellule est vide. Existe-til | une solution?
Cette façon de procéder évite de boucler sur l'ensemble de la plage de celllules !
'---------------------------------- Sub test() Dim X As Long X = Range("B65536").End(xlUp).Row
'Choisis une colonne libre de ta feuille 'celle de ton choix With Range("G1:G" & X) 'ici la colonne B représente celle de tes formules .Value = Range("B1:B" & X).SpecialCells(xlCellTypeFormulas).Value 'Masque toutes les lignes ou la formule retourne "" .SpecialCells(xlCellTypeBlanks).EntireRow.Hidden = True 'Libère la colonne utilisée .Value = "" End With
End Sub '----------------------------------
| Si je rentre un valeur en E3 cela me masque les lignes 5, 7, 10. Maintenant | si je rentre en E4 une valeur, | et que sur la ligne 5 cela me met un résultat, il faut que la ligne 5 | apparaissent. Etc..
Si ta ligne E4 est masquée, comment fais-tu pour saisir une donnée ? suis-je clair ?