Sélection en VBA
Résolu
CHARLYJACK
Messages postés
345
Date d'inscription
Statut
Membre
Dernière intervention
-
CHARLYJACK Messages postés 345 Date d'inscription Statut Membre Dernière intervention -
CHARLYJACK Messages postés 345 Date d'inscription Statut Membre Dernière intervention -
Bonjour à toutes et à tous,
Et oui je continue à m'interesser au langage VBA,
j'ai même acheté un livre.
je recherche également des codes sur internet.
La seule difficulté c'est d'appliquer les codes.
par exemple j'ai trouvé les 3 codes suivants afin d'obtenir la somme des chiffres rouges ou des cellules jaunes.
Sur une feuille ça fonctionne, par contre j'ai des difficultés dès que
j'essaie de sélectionner le classeur composé d'un nombre variable de feuilles.
voici les 3 codes que j'ai trouvés:
Calcule la somme des cellules D2 de toutes les feuilles
Sub CalculSum()
Application.ScreenUpdating = False
For Each feuille In ActiveWorkbook.Sheets
feuille.Activate
tot = [D2]
result = result + tot
Next
MsgBox result
End Sub
Fait la somme des chiffres écrits en rouge de la sélection
Sub sommeCouleurRougeText()
Dim Cellule As Range
Dim total As Variant
For Each Cellule In Selection
If Cellule.Font.ColorIndex = 3 Then
'3 rouge et 1 pour le noir
'If Cellule.Interior.ColorIndex = 3 Then (pour la couleur de fond)
If IsNumeric(Cellule) Then total = total + Cellule.Value
End If
Next
MsgBox total
Range("G12") = total
End Sub
Compte le nombre de cellules colorées en rouge de la sélection
Sub NombredeCellRouge()
Dim Cellule As Range
Dim total As Variant
For Each Cellule In Selection
If Cellule.Interior.ColorIndex = 3 Then 'rouge
total = total + Cellule.Count
End If
Next
MsgBox "Il y a " & total & " Cellules rouges"
Range("A1") = total
End Sub
merci à vous
à plus
David
Et oui je continue à m'interesser au langage VBA,
j'ai même acheté un livre.
je recherche également des codes sur internet.
La seule difficulté c'est d'appliquer les codes.
par exemple j'ai trouvé les 3 codes suivants afin d'obtenir la somme des chiffres rouges ou des cellules jaunes.
Sur une feuille ça fonctionne, par contre j'ai des difficultés dès que
j'essaie de sélectionner le classeur composé d'un nombre variable de feuilles.
voici les 3 codes que j'ai trouvés:
Calcule la somme des cellules D2 de toutes les feuilles
Sub CalculSum()
Application.ScreenUpdating = False
For Each feuille In ActiveWorkbook.Sheets
feuille.Activate
tot = [D2]
result = result + tot
Next
MsgBox result
End Sub
Fait la somme des chiffres écrits en rouge de la sélection
Sub sommeCouleurRougeText()
Dim Cellule As Range
Dim total As Variant
For Each Cellule In Selection
If Cellule.Font.ColorIndex = 3 Then
'3 rouge et 1 pour le noir
'If Cellule.Interior.ColorIndex = 3 Then (pour la couleur de fond)
If IsNumeric(Cellule) Then total = total + Cellule.Value
End If
Next
MsgBox total
Range("G12") = total
End Sub
Compte le nombre de cellules colorées en rouge de la sélection
Sub NombredeCellRouge()
Dim Cellule As Range
Dim total As Variant
For Each Cellule In Selection
If Cellule.Interior.ColorIndex = 3 Then 'rouge
total = total + Cellule.Count
End If
Next
MsgBox "Il y a " & total & " Cellules rouges"
Range("A1") = total
End Sub
merci à vous
à plus
David
2 réponses
Bonjour,
Non testé ! :
Info
Non testé ! :
Option Explicit Sub CalculSum() Dim Result As Long, Total As Variant Application.ScreenUpdating = False For Each feuille In ActiveWorkbook.Sheets feuille.Activate tot = [D2] Result = Result + tot ' ->>>>> Définir la sélection Range("A2:C5").Select ' Ajout appel de fonction Total = SommeCouleurRougeText(Selection) Range("G12").Value = Total Total = NombredeCellRouge(Selection) MsgBox "Il y a " & Total & " Cellules rouges" Range("A1").Value = Total Next MsgBox Result End Sub ' 'Fait la somme des chiffres écrits en rouge de la sélection Function SommeCouleurRougeText(ByVal Cible As Range) As Variant Dim Cellule As Range Dim Total As Variant For Each Cellule In Cible '3 rouge et 1 pour le noir If Cellule.Font.ColorIndex = 3 Then If IsNumeric(Cellule) Then Total = Total + Cellule.Value End If Next SommeCouleurRougeText = Total End Function ' 'Compte le nombre de cellules colorées en rouge de la sélection Function NombredeCellRouge(ByVal Cible As Range) As Variant Dim Cellule As Range Dim Total As Variant For Each Cellule In Cible If Cellule.Interior.ColorIndex = 3 Then 'rouge Total = Total + Cellule.Count End If Next NombredeCellRouge = Total End Function '
Info