Je cherche une méthode pour compter le nb de cellule comportant 2
bordures inclinées ( en forme de croix)dans une selection de cellules.
...
Je n'ai pas le choix car la cellule peut être renseignée ou pas et avoir
un fond de couleur.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
michdenis
Bonjour Fred,
Tu sélectionnes ladite plage et tu lances la macro.
Tu peux être plus spécifique dans ton critère de recherche tel que je l'ai indiqué dans la procédure.
'----------------------------------------- Sub TrouverFormat()
Dim Rg As Range, Nb As Long, Adr As String Dim LeCellFormat As CellFormat, C As Range
Set LeCellFormat = Application.FindFormat 'Détermine les caractéristiques 'du format de cellule recherché. With LeCellFormat .Clear 'S'assurer d'effacer les critères 'des anciennes recherches With .Borders(xlDiagonalDown) .LineStyle = xlContinuous 'Si nécessaire comme critère de recherche 'pour un format donné... '.Weight = xlThick 'Épaisseur de la ligne '.ColorIndex = xlAutomatic 'Couleur de la ligne End With With .Borders(xlDiagonalUp) .LineStyle = xlContinuous '.Weight = xlThick '.ColorIndex = xlAutomatic End With 'La liste pourrait être plus longue ... End With
'Détermine la plage de cellules où s'effectue 'la recherche With Worksheets("Feuil1") Set Rg = Selection End With
'Trouve la cellule ayant le bon format pour 'y effectuer une ou des opérations quelconques... With Rg Set c = .Find(What:="", SearchFormat:=True) If Not c Is Nothing Then Adr = c.Address Do Nb = Nb + 1 'pour passer à la cellule suivante ... Set c = .Find(What:="", after:=c, SearchFormat:=True) Loop Until c.Address = Adr Or c Is Nothing End If End With MsgBox Nb Set Rg = Nothing: Set C = Nothing End Sub '-----------------------------------------
Salutations!
"Fred C." a écrit dans le message de news: dphide$2ug$ Je cherche une méthode pour compter le nb de cellule comportant 2 bordures inclinées ( en forme de croix)dans une selection de cellules. ... Je n'ai pas le choix car la cellule peut être renseignée ou pas et avoir un fond de couleur.
Merci d'avance ...;
Bonjour Fred,
Tu sélectionnes ladite plage et tu lances la macro.
Tu peux être plus spécifique dans ton critère de recherche
tel que je l'ai indiqué dans la procédure.
'-----------------------------------------
Sub TrouverFormat()
Dim Rg As Range, Nb As Long, Adr As String
Dim LeCellFormat As CellFormat, C As Range
Set LeCellFormat = Application.FindFormat
'Détermine les caractéristiques
'du format de cellule recherché.
With LeCellFormat
.Clear 'S'assurer d'effacer les critères
'des anciennes recherches
With .Borders(xlDiagonalDown)
.LineStyle = xlContinuous
'Si nécessaire comme critère de recherche
'pour un format donné...
'.Weight = xlThick 'Épaisseur de la ligne
'.ColorIndex = xlAutomatic 'Couleur de la ligne
End With
With .Borders(xlDiagonalUp)
.LineStyle = xlContinuous
'.Weight = xlThick
'.ColorIndex = xlAutomatic
End With
'La liste pourrait être plus longue ...
End With
'Détermine la plage de cellules où s'effectue
'la recherche
With Worksheets("Feuil1")
Set Rg = Selection
End With
'Trouve la cellule ayant le bon format pour
'y effectuer une ou des opérations quelconques...
With Rg
Set c = .Find(What:="", SearchFormat:=True)
If Not c Is Nothing Then
Adr = c.Address
Do
Nb = Nb + 1
'pour passer à la cellule suivante ...
Set c = .Find(What:="", after:=c, SearchFormat:=True)
Loop Until c.Address = Adr Or c Is Nothing
End If
End With
MsgBox Nb
Set Rg = Nothing: Set C = Nothing
End Sub
'-----------------------------------------
Salutations!
"Fred C." <f@f.fr> a écrit dans le message de news: dphide$2ug$1@news.tiscali.fr...
Je cherche une méthode pour compter le nb de cellule comportant 2
bordures inclinées ( en forme de croix)dans une selection de cellules.
...
Je n'ai pas le choix car la cellule peut être renseignée ou pas et avoir
un fond de couleur.
Tu sélectionnes ladite plage et tu lances la macro.
Tu peux être plus spécifique dans ton critère de recherche tel que je l'ai indiqué dans la procédure.
'----------------------------------------- Sub TrouverFormat()
Dim Rg As Range, Nb As Long, Adr As String Dim LeCellFormat As CellFormat, C As Range
Set LeCellFormat = Application.FindFormat 'Détermine les caractéristiques 'du format de cellule recherché. With LeCellFormat .Clear 'S'assurer d'effacer les critères 'des anciennes recherches With .Borders(xlDiagonalDown) .LineStyle = xlContinuous 'Si nécessaire comme critère de recherche 'pour un format donné... '.Weight = xlThick 'Épaisseur de la ligne '.ColorIndex = xlAutomatic 'Couleur de la ligne End With With .Borders(xlDiagonalUp) .LineStyle = xlContinuous '.Weight = xlThick '.ColorIndex = xlAutomatic End With 'La liste pourrait être plus longue ... End With
'Détermine la plage de cellules où s'effectue 'la recherche With Worksheets("Feuil1") Set Rg = Selection End With
'Trouve la cellule ayant le bon format pour 'y effectuer une ou des opérations quelconques... With Rg Set c = .Find(What:="", SearchFormat:=True) If Not c Is Nothing Then Adr = c.Address Do Nb = Nb + 1 'pour passer à la cellule suivante ... Set c = .Find(What:="", after:=c, SearchFormat:=True) Loop Until c.Address = Adr Or c Is Nothing End If End With MsgBox Nb Set Rg = Nothing: Set C = Nothing End Sub '-----------------------------------------
Salutations!
"Fred C." a écrit dans le message de news: dphide$2ug$ Je cherche une méthode pour compter le nb de cellule comportant 2 bordures inclinées ( en forme de croix)dans une selection de cellules. ... Je n'ai pas le choix car la cellule peut être renseignée ou pas et avoir un fond de couleur.
Merci d'avance ...;
Daniel
Bonjour. Essaie cette macro :
Sub test() Dim c As Range, Ctr As Long For Each c In Selection If c.Borders(xlDiagonalDown).LineStyle <> xlLineStyleNone And _ c.Borders(xlDiagonalUp).LineStyle <> xlLineStyleNone Then Ctr = Ctr + 1 End If Next c MsgBox "Nombre de cellules : " & Ctr End Sub
Cordialement. Daniel "Fred C." a écrit dans le message de news: dphide$2ug$
Je cherche une méthode pour compter le nb de cellule comportant 2 bordures inclinées ( en forme de croix)dans une selection de cellules. ... Je n'ai pas le choix car la cellule peut être renseignée ou pas et avoir un fond de couleur.
Merci d'avance ...;
Bonjour.
Essaie cette macro :
Sub test()
Dim c As Range, Ctr As Long
For Each c In Selection
If c.Borders(xlDiagonalDown).LineStyle <> xlLineStyleNone And _
c.Borders(xlDiagonalUp).LineStyle <> xlLineStyleNone Then
Ctr = Ctr + 1
End If
Next c
MsgBox "Nombre de cellules : " & Ctr
End Sub
Cordialement.
Daniel
"Fred C." <f@f.fr> a écrit dans le message de news:
dphide$2ug$1@news.tiscali.fr...
Je cherche une méthode pour compter le nb de cellule comportant 2 bordures
inclinées ( en forme de croix)dans une selection de cellules.
...
Je n'ai pas le choix car la cellule peut être renseignée ou pas et avoir
un fond de couleur.
Sub test() Dim c As Range, Ctr As Long For Each c In Selection If c.Borders(xlDiagonalDown).LineStyle <> xlLineStyleNone And _ c.Borders(xlDiagonalUp).LineStyle <> xlLineStyleNone Then Ctr = Ctr + 1 End If Next c MsgBox "Nombre de cellules : " & Ctr End Sub
Cordialement. Daniel "Fred C." a écrit dans le message de news: dphide$2ug$
Je cherche une méthode pour compter le nb de cellule comportant 2 bordures inclinées ( en forme de croix)dans une selection de cellules. ... Je n'ai pas le choix car la cellule peut être renseignée ou pas et avoir un fond de couleur.
Merci d'avance ...;
Jacky
Bonsoir,
Ceci peut-être... '------- Sub jj() For Each c In Selection If c.Borders(xlDiagonalDown).LineStyle <> xlNone And c.Borders(xlDiagonalUp).LineStyle <> xlNone Then nombre = nombre + 1 Next MsgBox nombre End Sub '--------- Salutations JJ
"Fred C." a écrit dans le message de news: dphide$2ug$
Je cherche une méthode pour compter le nb de cellule comportant 2 bordures inclinées ( en forme de croix)dans une selection de cellules. ... Je n'ai pas le choix car la cellule peut être renseignée ou pas et avoir un fond de couleur.
Merci d'avance ...;
Bonsoir,
Ceci peut-être...
'-------
Sub jj()
For Each c In Selection
If c.Borders(xlDiagonalDown).LineStyle <> xlNone And
c.Borders(xlDiagonalUp).LineStyle <> xlNone Then nombre = nombre + 1
Next
MsgBox nombre
End Sub
'---------
Salutations
JJ
"Fred C." <f@f.fr> a écrit dans le message de news:
dphide$2ug$1@news.tiscali.fr...
Je cherche une méthode pour compter le nb de cellule comportant 2 bordures
inclinées ( en forme de croix)dans une selection de cellules.
...
Je n'ai pas le choix car la cellule peut être renseignée ou pas et avoir
un fond de couleur.
Ceci peut-être... '------- Sub jj() For Each c In Selection If c.Borders(xlDiagonalDown).LineStyle <> xlNone And c.Borders(xlDiagonalUp).LineStyle <> xlNone Then nombre = nombre + 1 Next MsgBox nombre End Sub '--------- Salutations JJ
"Fred C." a écrit dans le message de news: dphide$2ug$
Je cherche une méthode pour compter le nb de cellule comportant 2 bordures inclinées ( en forme de croix)dans une selection de cellules. ... Je n'ai pas le choix car la cellule peut être renseignée ou pas et avoir un fond de couleur.
Merci d'avance ...;
JB
Bonjour,
Sous forme de fonction:
Dans le tableur : =CompteCroix(C3:D8)
Dans un module: Alt+F11 puis Insertion/Module
Function CompteCroix(champ As Range) Application.Volatile CompteCroix = 0 For Each c In champ If c.Borders(xlDiagonalUp).LineStyle <> xlLineStyleNone And _ c.Borders(xlDiagonalDown).LineStyle <> xlLineStyleNone Then CompteCroix = CompteCroix + 1 Next c End Function
Cordialement JB
Bonjour,
Sous forme de fonction:
Dans le tableur : =CompteCroix(C3:D8)
Dans un module: Alt+F11 puis Insertion/Module
Function CompteCroix(champ As Range)
Application.Volatile
CompteCroix = 0
For Each c In champ
If c.Borders(xlDiagonalUp).LineStyle <> xlLineStyleNone And _
c.Borders(xlDiagonalDown).LineStyle <> xlLineStyleNone Then
CompteCroix = CompteCroix + 1
Next c
End Function
Function CompteCroix(champ As Range) Application.Volatile CompteCroix = 0 For Each c In champ If c.Borders(xlDiagonalUp).LineStyle <> xlLineStyleNone And _ c.Borders(xlDiagonalDown).LineStyle <> xlLineStyleNone Then CompteCroix = CompteCroix + 1 Next c End Function
Cordialement JB
Fred C.
Merci, la solution de JB avec la fonction me va tout à fait.
Bravo et merci à tous
Fred
Merci, la solution de JB avec la fonction me va tout à fait.
Merci, la solution de JB avec la fonction me va tout à fait.
Bravo et merci à tous
Fred
AV
| Bravo et merci à tous
Je voudrais pas jouer les rabats-joie mais toute fonction perso visant à dénombrer/additionner....des cellules en se basant sur le format n'est ABSOLUMENT pas fiable puisque un changement de format n'entraine aucun recalcul automatique !
AV
| Bravo et merci à tous
Je voudrais pas jouer les rabats-joie mais toute fonction perso visant à
dénombrer/additionner....des cellules en se basant sur le format n'est
ABSOLUMENT pas fiable puisque un changement de format n'entraine aucun recalcul
automatique !
Je voudrais pas jouer les rabats-joie mais toute fonction perso visant à dénombrer/additionner....des cellules en se basant sur le format n'est ABSOLUMENT pas fiable puisque un changement de format n'entraine aucun recalcul automatique !