Le fait de nettoyer sa BAL accélère "SERIEUSEMENT" votre vitesse
Pensez-y et merci pour le conseil
Back to work
Dans la colonne A les noms
Dans les colonne B C D E F des chifrres de ventes
Je voudrais (via macro) cacher toutes les lignes qui contiennent une cellule
vide
dans la plage B2:F6000
Et puis je ferais mon total avec le fameux 109 découvert il y a quelques
jours (ça, c'est un truc qu'est bon ça)
J'ai commencé un truc et (bien entendu) je coince
Quel commande utilise-t-on pour que cela fonctionne
Ci-dessous le départ du code
A bientôt et merci
Rex ;-))) )))
xxxxxxxxxxxxxxxxxxxxxxxxxxx
Sub Onlyallcollections()
'
' Onlyallcollections Macro
' Macro recorded 30/08/2007 by
'
Application.ScreenUpdating = False
For Each C In Range([B2], [F6000])
If
et ici il faudrait dire
si une cellule entre B et F est vide
il faut cacher la ligne
EntireRow.Hidden = True
Else
End If
Next C
Cela me donne ce que je cherche La mise en forme conditionnelle ne convient pas parceque certaines cellules on déjà plusierus conditons Donc je devrait faire des combinaisons etc
Ceci est PARFAIT
Merci beaucoup et à une autre fois
Rex ;-))) )))
"papou" <cpapoupasbon@çanonpluslaposte.net> a écrit dans le message de news: %
Rex Mais si tu y tiens vraiment voici une méthode : Dim rng As Range For Each rng In Range("A2:F6000").SpecialCells(xlCellTypeBlanks) With Range("A" & rng.Row & ":E" & rng.Row).Interior .ColorIndex = 6 .Pattern = xlSolid .PatternColorIndex = xlAutomatic End With Next rng
Cordialement Pascal
"papou" <cpapoupasbon@çanonpluslaposte.net> a écrit dans le message de news:
Rex Dans ces conditions il serait plus simple d'utiliser la mise en forme conditionnelle je pense. Cordialement Pascal
"rthompson" a écrit dans le message de news:
Désolé
Mais (et je le sais) je m'explique mal
Tu arrive au même résultat que moi
Et ce sont les cellules vides qui sont coloriées
Je voudrais que dans la plage A2:E6000
par exemple si D4 est vide les cellules A4:E4 soient coloriées Et pas uniquement les cellules vides ni la ligne complète ça c'est pour le truc actuel
La suite c'est pour tout à fait autre chose je voudrais que si dans une cellule H45 il y "Paid" les cellules A45:C45 soient coloriés
Mais si tu parviens à me résoudre le premier, il "FAUT" que je sois capable de résoudre le deuxième
A bientôt
Et merci
Rex ;-))) )))
"papou" <cpapoupasbon@çanonpluslaposte.net> a écrit dans le message de news: %
Rex Tu n'es pas loin :
With Range("A2:E6000").SpecialCells(xlCellTypeBlanks).Interior .ColorIndex = 6 .Pattern = xlSolid .PatternColorIndex = xlAutomatic End With
Par contre moi pas comprendre ensuite :
"" et en plus pour un autre projet comment faire pour "" que ce soit une cellule spécifique qui soit coloriée
Cordialement Pascal
"rthompson" a écrit dans le message de news: OPLan$
Bonjour
C'est encore moi Et j'espère que tu es encore là ;-))))))
Dans le code ci-dessous (qui fonctionne MERCI)
Seul les cellules vides sont coloriés Si je fais entirerow c'est toute la ligne qui est coloré (c'est logique)
Mais comment faire pour que tout les cellules de cette ligne mais uniquement de la plage soient coloriées
Dans mon exemple je voudrais que se soit les cellules entre les colonnes A et E qui soient coloriées et pas toute la ligne
A bientôt
Et merci
Rex
xxxxxxxxxxxxxxxxxxxxxxxxxxxx Private Sub CommandButton3_Click() Application.ScreenUpdating = False Range("B2:E6000").SpecialCells(xlCellTypeBlanks).Select '''' ici il faudrait dire que les lignes dont il y a une cellule vide sont coloriés "" mais seulement de la colonne A à la colonne E "" et en plus pour un autre projet comment faire pour "" que ce soit une cellule spécifique qui soit coloriée With Selection.Interior .ColorIndex = 6 .Pattern = xlSolid .PatternColorIndex = xlAutomatic End With End Sub xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx Et puis je vais un peu jouer avec les palettes de Gedee Cela promet du plaisir
Rex ;-))) )))
"papou" <cpapoupasbon@çanonpluslaposte.net> a écrit dans le message de news: %
My pleasure!
Cordialement Pascal
"rthompson" a écrit dans le message de news:
Bonjour et MERCI
C'est bizarre j'aurais pas cru que les With et End With empêchait le bon fonctionnement
Voici ce qui GRACE A TOI fonctionne
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx Private Sub CommandButton1_Click() Application.ScreenUpdating = False Range("B2:E6000").SpecialCells(xlCellTypeBlanks).EntireRow.Hidden = True End Sub xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
En me basant sur ces lignes je vais essayer de faire un truc dans le genre
Si en A2 j'ai PAID je vais colorier les cellules A2:H2 en vertclair
Si j'y arrive pas je relancerais le fil
A bientôt
Et surtout merci
Rex ;-))) )))
"papou" <cpapoupasbon@çanonpluslaposte.net> a écrit dans le message de news:
Re (je suis aussi en Excel 2003) La syntaxe telle que je te l'ai fournie fonctionne avec les critères que tu as donnés : With Range("B2:E6000").SpecialCells(xlCellTypeBlanks) .EntireRow.Hidden = True End with
Soit sur 3 lignes Si tu veux le mettre sur une seule ligne : Range("B2:E6000").SpecialCells(xlCellTypeBlanks).EntireRow.Hidden = True
Cordialement Pascal
"rthompson" a écrit dans le message de news:
Bonjour et merci
Voici ce que j'ai maintenant
xxxxxxxxxxxxxxxxxxx Sub Onlyallcollections() Application.ScreenUpdating = False With Range("B2:E6000").SpecialCells(xlCellTypeBlanks).EntireRow.Hidden = True End With End Sub xxxxxxxxxxxxxxxxxxxxxxxxxx
Mais cela ne réagit pas Je suis en Excel 2003 (à tout hasard)
Ce que je faisais jusqu'à présent était ceci
Dans une colonne H j'ai la formule =IF(B2=0;0;IF(C2=0;0;IF(D2=0;0;IF(E2=0;0;SUM(B2:E2))))) Et puis je fais un tri descendant sur cette colonne Et je les cache manuellement Mais c'est long
Il peut n'y avoir qu'une cellule de vide sur une ligne ou plusieurs Et c'est seulement si TOUTES les cellule de la ligne entre B et E sont remplies qu'elles doivent rester visibles
A bientôt et encore merci
Rex
"papou" <cpapoupasbon@çanonpluslaposte.net> a écrit dans le message de news:
Bonjour With Range("B2:F6000").SpecialCells(xlCellTypeBlanks) .EntireRow.Hidden = True End With
Cordialement Pascal
"rthompson" a écrit dans le message de news:
Bonjour à toutes et tous
Avant de poser une question
Le fait de nettoyer sa BAL accélère "SERIEUSEMENT" votre vitesse Pensez-y et merci pour le conseil
Back to work
Dans la colonne A les noms
Dans les colonne B C D E F des chifrres de ventes
Je voudrais (via macro) cacher toutes les lignes qui contiennent une cellule vide dans la plage B2:F6000 Et puis je ferais mon total avec le fameux 109 découvert il y a quelques jours (ça, c'est un truc qu'est bon ça)
J'ai commencé un truc et (bien entendu) je coince
Quel commande utilise-t-on pour que cela fonctionne
Ci-dessous le départ du code
A bientôt et merci
Rex ;-))) )))
xxxxxxxxxxxxxxxxxxxxxxxxxxx Sub Onlyallcollections() ' ' Onlyallcollections Macro ' Macro recorded 30/08/2007 by ' Application.ScreenUpdating = False For Each C In Range([B2], [F6000]) If et ici il faudrait dire si une cellule entre B et F est vide il faut cacher la ligne EntireRow.Hidden = True Else End If Next C
Cela me donne ce que je cherche
La mise en forme conditionnelle ne convient pas parceque certaines cellules
on déjà plusierus conditons
Donc
je devrait faire des combinaisons etc
Ceci est PARFAIT
Merci beaucoup et à une autre fois
Rex ;-))) )))
"papou" <cpapoupasbon@çanonpluslaposte.net> a écrit dans le message de news:
%23t0ELlw6HHA.4712@TK2MSFTNGP04.phx.gbl...
Rex
Mais si tu y tiens vraiment voici une méthode :
Dim rng As Range
For Each rng In Range("A2:F6000").SpecialCells(xlCellTypeBlanks)
With Range("A" & rng.Row & ":E" & rng.Row).Interior
.ColorIndex = 6
.Pattern = xlSolid
.PatternColorIndex = xlAutomatic
End With
Next rng
Cordialement
Pascal
"papou" <cpapoupasbon@çanonpluslaposte.net> a écrit dans le message de
news: ORXougw6HHA.1184@TK2MSFTNGP04.phx.gbl...
Rex
Dans ces conditions il serait plus simple d'utiliser la mise en forme
conditionnelle je pense.
Cordialement
Pascal
"rthompson" <roubliemoithompson@softscreen.be> a écrit dans le message de
news: OK4b1Rw6HHA.484@TK2MSFTNGP06.phx.gbl...
Désolé
Mais (et je le sais) je m'explique mal
Tu arrive au même résultat que moi
Et ce sont les cellules vides qui sont coloriées
Je voudrais que dans la plage A2:E6000
par exemple si D4 est vide
les cellules A4:E4 soient coloriées
Et pas uniquement les cellules vides ni la ligne complète
ça c'est pour le truc actuel
La suite c'est pour tout à fait autre chose
je voudrais que si dans une cellule H45 il y "Paid"
les cellules A45:C45 soient coloriés
Mais si tu parviens à me résoudre le premier,
il "FAUT" que je sois capable de résoudre le deuxième
A bientôt
Et merci
Rex ;-))) )))
"papou" <cpapoupasbon@çanonpluslaposte.net> a écrit dans le message de
news: %23ed7oDw6HHA.980@TK2MSFTNGP06.phx.gbl...
Rex
Tu n'es pas loin :
With Range("A2:E6000").SpecialCells(xlCellTypeBlanks).Interior
.ColorIndex = 6
.Pattern = xlSolid
.PatternColorIndex = xlAutomatic
End With
Par contre moi pas comprendre ensuite :
"" et en plus pour un autre projet comment faire pour
"" que ce soit une cellule spécifique qui soit coloriée
Cordialement
Pascal
"rthompson" <roubliemoithompson@softscreen.be> a écrit dans le message
de news: OPLan$v6HHA.1168@TK2MSFTNGP02.phx.gbl...
Bonjour
C'est encore moi
Et j'espère que tu es encore là ;-))))))
Dans le code ci-dessous (qui fonctionne MERCI)
Seul les cellules vides sont coloriés
Si je fais entirerow c'est toute la ligne qui est coloré (c'est
logique)
Mais comment faire pour que tout les cellules de cette ligne mais
uniquement de la plage soient coloriées
Dans mon exemple je voudrais que se soit les cellules entre les
colonnes A et E qui soient coloriées et pas toute la ligne
A bientôt
Et merci
Rex
xxxxxxxxxxxxxxxxxxxxxxxxxxxx
Private Sub CommandButton3_Click()
Application.ScreenUpdating = False
Range("B2:E6000").SpecialCells(xlCellTypeBlanks).Select
'''' ici il faudrait dire que les lignes dont il y a une
cellule vide sont coloriés
"" mais seulement de la colonne A à la colonne E
"" et en plus pour un autre projet comment faire pour
"" que ce soit une cellule spécifique qui soit coloriée
With Selection.Interior
.ColorIndex = 6
.Pattern = xlSolid
.PatternColorIndex = xlAutomatic
End With
End Sub
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Et puis je vais un peu jouer avec les palettes de Gedee
Cela promet du plaisir
Rex ;-))) )))
"papou" <cpapoupasbon@çanonpluslaposte.net> a écrit dans le message de
news: %23DFcyfv6HHA.3528@TK2MSFTNGP04.phx.gbl...
My pleasure!
Cordialement
Pascal
"rthompson" <roubliemoithompson@softscreen.be> a écrit dans le
message de news: eep2Iev6HHA.3900@TK2MSFTNGP02.phx.gbl...
Bonjour et MERCI
C'est bizarre j'aurais pas cru que les With et End With empêchait le
bon fonctionnement
Voici ce qui GRACE A TOI fonctionne
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Private Sub CommandButton1_Click()
Application.ScreenUpdating = False
Range("B2:E6000").SpecialCells(xlCellTypeBlanks).EntireRow.Hidden =
True
End Sub
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
En me basant sur ces lignes je vais essayer de faire un truc dans le
genre
Si en A2 j'ai PAID je vais colorier les cellules A2:H2 en vertclair
Si j'y arrive pas je relancerais le fil
A bientôt
Et surtout merci
Rex ;-))) )))
"papou" <cpapoupasbon@çanonpluslaposte.net> a écrit dans le message
de news: etIasQv6HHA.1900@TK2MSFTNGP02.phx.gbl...
Re
(je suis aussi en Excel 2003)
La syntaxe telle que je te l'ai fournie fonctionne avec les
critères que tu as donnés :
With Range("B2:E6000").SpecialCells(xlCellTypeBlanks)
.EntireRow.Hidden = True
End with
Soit sur 3 lignes
Si tu veux le mettre sur une seule ligne :
Range("B2:E6000").SpecialCells(xlCellTypeBlanks).EntireRow.Hidden =
True
Cordialement
Pascal
"rthompson" <roubliemoithompson@softscreen.be> a écrit dans le
message de news: OTRXDzu6HHA.4304@TK2MSFTNGP03.phx.gbl...
Bonjour et merci
Voici ce que j'ai maintenant
xxxxxxxxxxxxxxxxxxx
Sub Onlyallcollections()
Application.ScreenUpdating = False
With
Range("B2:E6000").SpecialCells(xlCellTypeBlanks).EntireRow.Hidden
= True
End With
End Sub
xxxxxxxxxxxxxxxxxxxxxxxxxx
Mais cela ne réagit pas
Je suis en Excel 2003 (à tout hasard)
Ce que je faisais jusqu'à présent était ceci
Dans une colonne H j'ai la formule
=IF(B2=0;0;IF(C2=0;0;IF(D2=0;0;IF(E2=0;0;SUM(B2:E2)))))
Et puis je fais un tri descendant sur cette colonne
Et je les cache manuellement
Mais c'est long
Il peut n'y avoir qu'une cellule de vide sur une ligne ou
plusieurs
Et c'est seulement si TOUTES les cellule de la ligne entre B et E
sont remplies
qu'elles doivent rester visibles
A bientôt et encore merci
Rex
"papou" <cpapoupasbon@çanonpluslaposte.net> a écrit dans le
message de news: uXEPApu6HHA.2380@TK2MSFTNGP02.phx.gbl...
Bonjour
With Range("B2:F6000").SpecialCells(xlCellTypeBlanks)
.EntireRow.Hidden = True
End With
Cordialement
Pascal
"rthompson" <roubliemoithompson@softscreen.be> a écrit dans le
message de news: eXvAlju6HHA.1212@TK2MSFTNGP05.phx.gbl...
Bonjour à toutes et tous
Avant de poser une question
Le fait de nettoyer sa BAL accélère "SERIEUSEMENT" votre vitesse
Pensez-y et merci pour le conseil
Back to work
Dans la colonne A les noms
Dans les colonne B C D E F des chifrres de ventes
Je voudrais (via macro) cacher toutes les lignes qui contiennent
une cellule vide
dans la plage B2:F6000
Et puis je ferais mon total avec le fameux 109 découvert il y a
quelques jours (ça, c'est un truc qu'est bon ça)
J'ai commencé un truc et (bien entendu) je coince
Quel commande utilise-t-on pour que cela fonctionne
Ci-dessous le départ du code
A bientôt et merci
Rex ;-))) )))
xxxxxxxxxxxxxxxxxxxxxxxxxxx
Sub Onlyallcollections()
'
' Onlyallcollections Macro
' Macro recorded 30/08/2007 by
'
Application.ScreenUpdating = False
For Each C In Range([B2], [F6000])
If
et ici il faudrait dire
si une cellule entre B et F est vide
il faut cacher la ligne
EntireRow.Hidden = True
Else
End If
Next C
Cela me donne ce que je cherche La mise en forme conditionnelle ne convient pas parceque certaines cellules on déjà plusierus conditons Donc je devrait faire des combinaisons etc
Ceci est PARFAIT
Merci beaucoup et à une autre fois
Rex ;-))) )))
"papou" <cpapoupasbon@çanonpluslaposte.net> a écrit dans le message de news: %
Rex Mais si tu y tiens vraiment voici une méthode : Dim rng As Range For Each rng In Range("A2:F6000").SpecialCells(xlCellTypeBlanks) With Range("A" & rng.Row & ":E" & rng.Row).Interior .ColorIndex = 6 .Pattern = xlSolid .PatternColorIndex = xlAutomatic End With Next rng
Cordialement Pascal
"papou" <cpapoupasbon@çanonpluslaposte.net> a écrit dans le message de news:
Rex Dans ces conditions il serait plus simple d'utiliser la mise en forme conditionnelle je pense. Cordialement Pascal
"rthompson" a écrit dans le message de news:
Désolé
Mais (et je le sais) je m'explique mal
Tu arrive au même résultat que moi
Et ce sont les cellules vides qui sont coloriées
Je voudrais que dans la plage A2:E6000
par exemple si D4 est vide les cellules A4:E4 soient coloriées Et pas uniquement les cellules vides ni la ligne complète ça c'est pour le truc actuel
La suite c'est pour tout à fait autre chose je voudrais que si dans une cellule H45 il y "Paid" les cellules A45:C45 soient coloriés
Mais si tu parviens à me résoudre le premier, il "FAUT" que je sois capable de résoudre le deuxième
A bientôt
Et merci
Rex ;-))) )))
"papou" <cpapoupasbon@çanonpluslaposte.net> a écrit dans le message de news: %
Rex Tu n'es pas loin :
With Range("A2:E6000").SpecialCells(xlCellTypeBlanks).Interior .ColorIndex = 6 .Pattern = xlSolid .PatternColorIndex = xlAutomatic End With
Par contre moi pas comprendre ensuite :
"" et en plus pour un autre projet comment faire pour "" que ce soit une cellule spécifique qui soit coloriée
Cordialement Pascal
"rthompson" a écrit dans le message de news: OPLan$
Bonjour
C'est encore moi Et j'espère que tu es encore là ;-))))))
Dans le code ci-dessous (qui fonctionne MERCI)
Seul les cellules vides sont coloriés Si je fais entirerow c'est toute la ligne qui est coloré (c'est logique)
Mais comment faire pour que tout les cellules de cette ligne mais uniquement de la plage soient coloriées
Dans mon exemple je voudrais que se soit les cellules entre les colonnes A et E qui soient coloriées et pas toute la ligne
A bientôt
Et merci
Rex
xxxxxxxxxxxxxxxxxxxxxxxxxxxx Private Sub CommandButton3_Click() Application.ScreenUpdating = False Range("B2:E6000").SpecialCells(xlCellTypeBlanks).Select '''' ici il faudrait dire que les lignes dont il y a une cellule vide sont coloriés "" mais seulement de la colonne A à la colonne E "" et en plus pour un autre projet comment faire pour "" que ce soit une cellule spécifique qui soit coloriée With Selection.Interior .ColorIndex = 6 .Pattern = xlSolid .PatternColorIndex = xlAutomatic End With End Sub xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx Et puis je vais un peu jouer avec les palettes de Gedee Cela promet du plaisir
Rex ;-))) )))
"papou" <cpapoupasbon@çanonpluslaposte.net> a écrit dans le message de news: %
My pleasure!
Cordialement Pascal
"rthompson" a écrit dans le message de news:
Bonjour et MERCI
C'est bizarre j'aurais pas cru que les With et End With empêchait le bon fonctionnement
Voici ce qui GRACE A TOI fonctionne
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx Private Sub CommandButton1_Click() Application.ScreenUpdating = False Range("B2:E6000").SpecialCells(xlCellTypeBlanks).EntireRow.Hidden = True End Sub xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
En me basant sur ces lignes je vais essayer de faire un truc dans le genre
Si en A2 j'ai PAID je vais colorier les cellules A2:H2 en vertclair
Si j'y arrive pas je relancerais le fil
A bientôt
Et surtout merci
Rex ;-))) )))
"papou" <cpapoupasbon@çanonpluslaposte.net> a écrit dans le message de news:
Re (je suis aussi en Excel 2003) La syntaxe telle que je te l'ai fournie fonctionne avec les critères que tu as donnés : With Range("B2:E6000").SpecialCells(xlCellTypeBlanks) .EntireRow.Hidden = True End with
Soit sur 3 lignes Si tu veux le mettre sur une seule ligne : Range("B2:E6000").SpecialCells(xlCellTypeBlanks).EntireRow.Hidden = True
Cordialement Pascal
"rthompson" a écrit dans le message de news:
Bonjour et merci
Voici ce que j'ai maintenant
xxxxxxxxxxxxxxxxxxx Sub Onlyallcollections() Application.ScreenUpdating = False With Range("B2:E6000").SpecialCells(xlCellTypeBlanks).EntireRow.Hidden = True End With End Sub xxxxxxxxxxxxxxxxxxxxxxxxxx
Mais cela ne réagit pas Je suis en Excel 2003 (à tout hasard)
Ce que je faisais jusqu'à présent était ceci
Dans une colonne H j'ai la formule =IF(B2=0;0;IF(C2=0;0;IF(D2=0;0;IF(E2=0;0;SUM(B2:E2))))) Et puis je fais un tri descendant sur cette colonne Et je les cache manuellement Mais c'est long
Il peut n'y avoir qu'une cellule de vide sur une ligne ou plusieurs Et c'est seulement si TOUTES les cellule de la ligne entre B et E sont remplies qu'elles doivent rester visibles
A bientôt et encore merci
Rex
"papou" <cpapoupasbon@çanonpluslaposte.net> a écrit dans le message de news:
Bonjour With Range("B2:F6000").SpecialCells(xlCellTypeBlanks) .EntireRow.Hidden = True End With
Cordialement Pascal
"rthompson" a écrit dans le message de news:
Bonjour à toutes et tous
Avant de poser une question
Le fait de nettoyer sa BAL accélère "SERIEUSEMENT" votre vitesse Pensez-y et merci pour le conseil
Back to work
Dans la colonne A les noms
Dans les colonne B C D E F des chifrres de ventes
Je voudrais (via macro) cacher toutes les lignes qui contiennent une cellule vide dans la plage B2:F6000 Et puis je ferais mon total avec le fameux 109 découvert il y a quelques jours (ça, c'est un truc qu'est bon ça)
J'ai commencé un truc et (bien entendu) je coince
Quel commande utilise-t-on pour que cela fonctionne
Ci-dessous le départ du code
A bientôt et merci
Rex ;-))) )))
xxxxxxxxxxxxxxxxxxxxxxxxxxx Sub Onlyallcollections() ' ' Onlyallcollections Macro ' Macro recorded 30/08/2007 by ' Application.ScreenUpdating = False For Each C In Range([B2], [F6000]) If et ici il faudrait dire si une cellule entre B et F est vide il faut cacher la ligne EntireRow.Hidden = True Else End If Next C