OVH Cloud OVH Cloud

Qui résoudra cette énigme ????

5 réponses
Avatar
famjb2005
Alors voilà :

Deux feuilles dans un classeur
dans la seconde une colonne avec une liste de mots (assez longue 150 ), et à
coté de cette liste une deuxième colonne vide (pour l'instant car tout va
dépendre de la première feuille !!)

Comment faire pour répertorier combien de fois dans la feuille 1 va être
cité l'un des élements de cette liste , sachant que ces chiffres doivent
appraitre dans la deuxième collonne de la feuille 2 et, chose encore plus
difficile, que ce résultat reste figé !!!

J'explique : si je cite le mot "pain" (mot dans la liste) dans la feuille 1
, ce mot sera compté une fois dans la feuille 2 (comme ceci Feuille 2 : si
cellule A1= Pain alors Cellule A2= 1) et même si j'efface le mot dans la
feuille 1, le chiffre de la cellule A2 ne change pas ! Bien entendu, si je
tape à nouveau le mot pain, alors le chiffre va ajouter cette deuxième
citation du mot ( donc A2 = 2 )
Ainsi la feuille 2 fonctionnerait comme une sorte de compteur qui
afficherait le nombre exacte d'informations apparaissant dans la feuille 1
même si ces informations sont effacées par la suite!!

Je sais la question est difficile, mais il ya a pire !!
Il faut aussi savoir que je suis une bille en macro et que donc votre
explication devra être la plus claire et efficace au possible !

Merci d'avance les gars et...Bonne chance !

5 réponses

Avatar
Dan
Salut famjb2005
Reste à faire du VBA ... dans ce cas là
et faire des listes de choix pour éviter d'écrire PAIN par exemple
et déclarer des variables qui auront pour cible les feuilles et cellules où
doivent s'écrire les résultats...

tu as donc du pain sur la planche...

Bravo

Dan


"famjb2005" a écrit dans le message de news:

Alors voilà :

Deux feuilles dans un classeur
dans la seconde une colonne avec une liste de mots (assez longue 150 ), et
à

coté de cette liste une deuxième colonne vide (pour l'instant car tout va
dépendre de la première feuille !!)

Comment faire pour répertorier combien de fois dans la feuille 1 va être
cité l'un des élements de cette liste , sachant que ces chiffres doivent
appraitre dans la deuxième collonne de la feuille 2 et, chose encore plus
difficile, que ce résultat reste figé !!!

J'explique : si je cite le mot "pain" (mot dans la liste) dans la feuille
1

, ce mot sera compté une fois dans la feuille 2 (comme ceci Feuille 2 : si
cellule A1= Pain alors Cellule A2= 1) et même si j'efface le mot dans la
feuille 1, le chiffre de la cellule A2 ne change pas ! Bien entendu, si je
tape à nouveau le mot pain, alors le chiffre va ajouter cette deuxième
citation du mot ( donc A2 = 2 )
Ainsi la feuille 2 fonctionnerait comme une sorte de compteur qui
afficherait le nombre exacte d'informations apparaissant dans la feuille 1
même si ces informations sont effacées par la suite!!

Je sais la question est difficile, mais il ya a pire !!
Il faut aussi savoir que je suis une bille en macro et que donc votre
explication devra être la plus claire et efficace au possible !

Merci d'avance les gars et...Bonne chance !




Avatar
Michel BERTRAND
Bonjour

Et la fonction NB.si elle est pas bien

feuil 1
A feuil2
1 toto A B
2 titi 1 toto =nb.si($A$1:SA$35;A1)
3 tata 2 tutu =nb.si($A$1:SA$35;A2)
4 tutu
5 tutu
6 tutu
7 tata

ou alors j'ai pas compris

Cordialement

Michel BERTRAND
Avatar
Ricky
Bonjour *Michel BERTRAND*

| ou alors j'ai pas compris
| Cordialement
| Michel BERTRAND

Du moins pas tout. En cas d'effacement dans feuille 1 ton NB.SI décompte...
Donc il faut un flag qui indique quelle cellule a changé lorsque la feuille se modifie.
Ensuite repérer le nouveau mot dans la feuille 2 et incrémenter son compteur.


--
Ricky [MVP] Visitez les faq....
http://www.faqoe.com http://faqword.free.fr
http://dj.joss.free.fr/faq.htm http://www.excelabo.net
Avatar
AV
Et si tu prenais en compte la réponse faite à ton 1° message ?

AV
Avatar
bruno
Bonsoir famjb2005,
J'ai essaé d'améliorer le code que je t'avais proposé (voir
news:ewgYZl%23$)
Je lui ajoute la fonctionnalité suivante : on ne comptabilise dans la
feuille 2 que des mots de la zone ("A1:A9") de la feuille2 qui ont été
saisis dans la feuille 1.

Si tu as besoin de plus de mots, tu peux modifier le code pour augmenter la
zone.

Private Sub Worksheet_Change(ByVal Target As Range)
Dim c As Variant
For Each c In Sheets("Feuil2").Range("A1:A9")
If c = Target Then
c.Offset(0, 1).Value = c.Offset(0, 1).Value + 1
End If
Next c
End Sub

Chaque mot saisi dans la feuille 1 qui se trouve dans la liste de la feuille
2 est comptabilisé en colonne 2.

Si tu ne sais pas entrer un code VBA dans XL dis le moi.




"famjb2005" a écrit dans le message de news:

| Alors voilà :
|
| Deux feuilles dans un classeur
| dans la seconde une colonne avec une liste de mots (assez longue 150 ), et
à
| coté de cette liste une deuxième colonne vide (pour l'instant car tout va
| dépendre de la première feuille !!)
|
| Comment faire pour répertorier combien de fois dans la feuille 1 va être
| cité l'un des élements de cette liste , sachant que ces chiffres doivent
| appraitre dans la deuxième collonne de la feuille 2 et, chose encore plus
| difficile, que ce résultat reste figé !!!
|
| J'explique : si je cite le mot "pain" (mot dans la liste) dans la feuille
1
| , ce mot sera compté une fois dans la feuille 2 (comme ceci Feuille 2 : si
| cellule A1= Pain alors Cellule A2= 1) et même si j'efface le mot dans la
| feuille 1, le chiffre de la cellule A2 ne change pas ! Bien entendu, si je
| tape à nouveau le mot pain, alors le chiffre va ajouter cette deuxième
| citation du mot ( donc A2 = 2 )
| Ainsi la feuille 2 fonctionnerait comme une sorte de compteur qui
| afficherait le nombre exacte d'informations apparaissant dans la feuille 1
| même si ces informations sont effacées par la suite!!
|
| Je sais la question est difficile, mais il ya a pire !!
| Il faut aussi savoir que je suis une bille en macro et que donc votre
| explication devra être la plus claire et efficace au possible !
|
| Merci d'avance les gars et...Bonne chance !
|
|