Obtenir la colonne d'un objet type Variant si critère = true
Dfordanger
Messages postés
8
Statut
Membre
-
michel_m Messages postés 18903 Date d'inscription Statut Contributeur Dernière intervention -
michel_m Messages postés 18903 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
Voici mon problème : j'aimerais pouvoir compter le nombre d'occurrence d'une même valeur à l'intérieur d'une plage de cellules et noter au passage les colonnes où l'on trouve cette valeur.
Pour l'instant, ça donne ça :
Pour une raison que j'ignore, la boucle For Each semble poser problème et rien ne s'affiche en cellule G5...
Merci d'avance pour votre aide !
Dfordanger
Voici mon problème : j'aimerais pouvoir compter le nombre d'occurrence d'une même valeur à l'intérieur d'une plage de cellules et noter au passage les colonnes où l'on trouve cette valeur.
Pour l'instant, ça donne ça :
Dim c As Variant 'la valeur qui nous intéresse
Dim valueCol As String 'colonne où se trouve la valeur "c"
Dim cCount As Integer 'nombre d'occurrences de la valeur "c"
valueCol = ""
cCount = Application.WorksheetFunction.CountIf(Range("PLAGE"), 5) '(à titre d'exemple, 5 est la valeur que nous recherchons dans le tableau)
For Each c in Range("PLAGE")
if c=5 then
valueCol = valueCol & ", " & c.Column
end
Next c
Range("G5").Value = valueCol 'pour l'instant j'essaye d'inscrire "valueCol" dans une cellule à part pour tester si le système marche
end Sub
Pour une raison que j'ignore, la boucle For Each semble poser problème et rien ne s'affiche en cellule G5...
Merci d'avance pour votre aide !
Dfordanger
A voir également:
- Obtenir la colonne d'un objet type Variant si critère = true
- Déplacer colonne excel - Guide
- Trier colonne excel - Guide
- Acronis true image - Télécharger - Sauvegarde
- Colonne word - Guide
- Formule somme excel colonne - Guide
2 réponses
Bonjour, dans cette partie :
Il manque End If (au lieu de end) à la fin de la condition, remplacez par :
if c=5 then
valueCol = valueCol & ", " & c.Column
end
if c=5 then
valueCol = valueCol & ", " & c.Column
End If
Bonjour
De plus
Dim C as Range
dim ValueCol as Integer
C.column te renvoie le numéro de la colonne et non un texte
Si tu veux la lettre (A à Z)
dim valuecol as string
Mid(tacellule.Address, 2, 1)
si tu dépasse la colonne 26
if c.column>26 abd C;column<=52 then valueCol = valueCol & ", " & Mid(tacellule.Address, 2, 2)
Michel
De plus
Dim C as Range
dim ValueCol as Integer
C.column te renvoie le numéro de la colonne et non un texte
Si tu veux la lettre (A à Z)
dim valuecol as string
Mid(tacellule.Address, 2, 1)
si tu dépasse la colonne 26
if c.column>26 abd C;column<=52 then valueCol = valueCol & ", " & Mid(tacellule.Address, 2, 2)
Michel