Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Compter des valeurs dans un tableaux

  • Initiateur de la discussion Initiateur de la discussion klorane
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

klorane

XLDnaute Occasionnel
Bonjour à tous,

voilà j'ai un tableau défini en feuille 2 : zone: B3:Z6

Dans ce tableau sont inscrit des nombres de 1 à 12.

j'aurai besoin d'une marcro qui me permettrait de compter le nombre de 1 présents, de 2 présents , etc....

Le resultat pour le nombre de 1 doit s'inscrire en : feuille 1 : T5
Le resultat pour le nombre de 2 doit s'inscrire en : feuille 1 : T6
etc...

Et enfin, la macro doit etre lancée à partir d'un bouton.

Pour celui qui va plancher la dessus, juste me donner la macro pour compter le nombre de 1 et de 2 pour les autres je m'appuirais sur les 2 exemples. Vous avez autres choses à faire 🙂

Merci pour votre aide.

Sébastien
 
Re : Compter des valeurs dans un tableaux

Bonjour,

C'est pas beaucoup + compliqué pour 12 que pour 1 :



Sub Compte()

Dim C As Range
Dim Somme(12) As Integer

For i = 1 To 12
Somme(i) = 0
For Each C In Feuil2.Range("B3", "Z6")
If C.Value = i Then Somme(i) = Somme(i) + 1
Next C
Feuil1.Cells(4 + i, 20) = Somme(i)
Next i

End Sub



Ca colle ?
 
Re : Compter des valeurs dans un tableaux

Bonjour Klorane, Pascal, Moustache, le Forum

ou bien...

Sub Klorane()
Dim Plage As Range
Dim Cel As Range
Set Plage = Range("Feuil2!B3:Z6")
Range("Feuil1!T5:T16").ClearContents
For Each Cel In Plage
Range("Feuil1!T" & Cel.Value + 4) = 1 + Range("Feuil1!T" & Cel.Value + 4)
Next Cel
End Sub

Bonne journée

PhiBou
 
Re : Compter des valeurs dans un tableaux

Bonjour,
sinon, pour faire moins lourd et à condition que tu n' ai pas besoin que la cellule soit vide, tu utilise la formule :

en T5 : =NB.SI(B3:Z6;"=1")
en T6: =NB.SI(B3:Z6;"=2")

etc

et tu fais une macro qui fait apparaitre les valeurs en changeant simplement la couleur d'écriture:

Code:
Sub Macro1()
 
 
    Sheets("Feuil1").Select
    Range("T5").Select
    Selection.Font.ColorIndex = 2 'écriture en blanc donc invisible ...
 
End Sub
 
 
Sub Macro2()
 
 
    Sheets("Feuil1").Select
    Range("T5").Select
    Selection.Font.ColorIndex = 0 'écriture en noir donc visible ...
 
End Sub

C'est de la triche mais simple (enregistreur de macro) quand on est naze en VBA

A+

EDIT :
Ou sinon la même chose mais tu affiche ou cache la colonne T en feuille 1

Bout de code pour afficher masquer colonne T à mettre dans code ci dessus à la place de

Range("T5").Select
Selection.Font.ColorIndex = 0 'écriture en noir donc visible ...

Code:
Columns("T:T").Select
    Selection.EntireColumn.Hidden = True  'la colonne est cachée
 
 
Columns("T:T").Select
    Selection.EntireColumn.Hidden = False 'la colone est visible
 
Dernière édition:
Re : Compter des valeurs dans un tableaux

Re

tout simplement, tu fait avec des formules nb.si comme tu le conseil, mais pour que cela fasse comme une macro, tu affecte une mise en forme à un bouton : exple

au départ, resultat pas visible ( couleur police = Blanc et couleur fond de cel = blanc)
clic bouton : Macro police caractère = noire sur fond blanc (visible donc )

clic sur autre bouton : Macro police caractère = blanc sur blanc (invisible)
 
Re : Compter des valeurs dans un tableaux

Bonjour

Je voulais dire à Darnel, qui doit avoir l'esprit bien compliqué, écrire une formule dans la cellule, puis faire une macro pour dissimuler à l'affichage les résultat de la fonction. Ca ce truc là, c'est la première fois que je le vois.

En plus Darnel, Klorane avait demander uniquement par une macro. Respectont le choix du demandeurs.

@+Jean-Marie
 
Re : Compter des valeurs dans un tableaux

Bonjour Jean Marie

je suis d'accord avec toi, il faut respecter le choix du demandeur.
mea culpa, mais n'ayant pas précisé ses motivations (qui ne regardent bien entendu que le demandeur ) j'ai donner une réponse qui est plus simple en vb (je suis nul en vb😛 )
Pour ce qui est des trucs tordus, j'aime bien me torturer l'esprit pour résoudre des problèmes tout seul ( sur la forme, ma solution donne la même chose que la macro ( à condition qu'il n'y ait pas besoin que les cellules affichant le résultat soit vides évidemment😀 ))

voilà
a+
 
Re : Compter des valeurs dans un tableaux

Bonjour klorane, Pascal76, moustache, PhiBou, nat54, Darnel, JeanMarie,

Ci-dessous, une autre proposition VBA réduite au maximum :
Code:
[SIZE=2]Dim N[COLOR=navy] As Byte[/COLOR]
      [COLOR=navy]For [/COLOR]N = 1[COLOR=navy] To [/COLOR]12
            Sheets("Feuil1").Cells(4 + N, 20).Value = Application.CountIf(Sheets("Feuil2").Range("B3:Z6"), N)
      [COLOR=navy]Next[/COLOR] N[/SIZE]
Cordialement,
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
23
Affichages
680
  • Question Question
Réponses
7
Affichages
353
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…