Compter occurences - VBA
Bonjour tout le monde
J'espère que vous allez bien !
Petite question du jours (et surtout problème du mien
J'ai une colonne où l'on retrouve plusieurs petit texte (chacun représente un attribut manquant), j'aimerais être capable de compter le nombre d’occurrences manquantes.
A savoir cette colonne est une extraction d'une base de donnée, elle sortira donc toujours de cette façon, ce que je remarque c'est qu'il y a toujours des "-" devant chaque occurrence manquante, je me suis donc dit : "le mieux c'est de compter le nombre de "-" dans une cellule", mais impossible de trouver la bonne formule.
J'ai aussi penser à séparer puis compter le nombre de colonnes créées mais je pense que ça sera plus long et complexe ... Je suis un peu perdu
J'aimerais que cela ce fasse via du VBA car je suis en train de tout rendre automatique, et je transfère la majorité des informations sur un autre onglet/fichier.
Ci-joint le fichier j'espère que cela vous aidera à mieux comprendre mon besoin
Merci d'avance à vous et bonne journée !
Bonjour Kinders59
Un exemple de ce qu'on peut faire
Sub NbOccurence()
Dim DLig As Long, Lig As Long
Dim TabLig() As String
Dim NbOc As Long
' Dernière ligne de la feuille
DLig = Range("A" & Rows.Count).End(xlUp).Row
' Initialiser le comptage
NbOc = 0
' Pour chaque ligne
For Lig = 2 To DLig
' Récupérer le tableau des tirets
TabLig = Split(Range("A" & Lig), "-")
' Additionner l enombre d'index du tableau
NbOc = NbOc + UBound(TabLig)
Next Lig
MsgBox "Vous avez au total : " & NbOc & " attribut(s) manquant(s)"
End Sub
A+
Bonjour Kinders59
Un exemple de ce qu'on peut faire
Sub NbOccurence() Dim DLig As Long, Lig As Long Dim TabLig() As String Dim NbOc As Long ' Dernière ligne de la feuille DLig = Range("A" & Rows.Count).End(xlUp).Row ' Initialiser le comptage NbOc = 0 ' Pour chaque ligne For Lig = 2 To DLig ' Récupérer le tableau des tirets TabLig = Split(Range("A" & Lig), "-") ' Additionner l enombre d'index du tableau NbOc = NbOc + UBound(TabLig) Next Lig MsgBox "Vous avez au total : " & NbOc & " attribut(s) manquant(s)" End Sub
A+
Hello,
Tout d'abord merci de la réponse
Est-il possible d'afficher par ligne le nombre d'attributs manquants ? (pour chaque ligne. Exemple mettre en colonne B2 6 attributs manquants (par rapport à A2))
Merci d'avance à toi !
Cordialement,
Re,
C'est encore "plus simple"
Sub NbOccurence()
Dim DLig As Long, Lig As Long
Dim TabLig() As String
' Dernière ligne de la feuille
DLig = Range("A" & Rows.Count).End(xlUp).Row
' Pour chaque ligne
For Lig = 2 To DLig
' Récupérer le tableau des tirets
TabLig = Split(Range("A" & Lig), "-")
' Inscrire le nombre d'attributs manquants
Range("B" & Lig).value = UBound(TabLig) & " attribut(s) manquant(s)"
Next Lig
End Sub
A+
Re,
C'est encore "plus simple"
Sub NbOccurence() Dim DLig As Long, Lig As Long Dim TabLig() As String ' Dernière ligne de la feuille DLig = Range("A" & Rows.Count).End(xlUp).Row ' Pour chaque ligne For Lig = 2 To DLig ' Récupérer le tableau des tirets TabLig = Split(Range("A" & Lig), "-") ' Inscrire le nombre d'attributs manquants Range("B" & Lig).value = UBound(TabLig) & " attribut(s) manquant(s)" Next Lig End Sub
A+
Wow c'est puissant !
Merci je vais regarder comment elle fonctionne en détail, car ma maîtrise du VBA est très très basique j'en suis pas encore à cette facilité de raccourci
Encore un énorme merci à toi !
Bonne journée !