Classement Complexe sous Excel

Résolu
rgsport Messages postés 3 Date d'inscription mardi 30 janvier 2007 Statut Membre Dernière intervention 23 mars 2007 - 23 mars 2007 à 21:24
moradkid Messages postés 3 Date d'inscription mardi 6 novembre 2007 Statut Membre Dernière intervention 13 juin 2009 - 15 déc. 2007 à 13:34
Bonjour, voilà j'ai un soucis avec excel que je n'arrive pas a résoudre:

Sur ce tableau, j'aimerais incrementer les valeurs des cellules de la colonne G par rapport aux de H
Par exemple, je voudrais qu'il compte le nombre de fois qu'il trouve "A/FA3" dans la colonne H et qu'il incrémente les cases correspondantes à la colonne G.
Pour mieux me faire comprendre, je vais vous donner un exemple; :
On va prendre l'exemple suivant :
Ma formule ou ma macro deverra lire un ensemble de cellule de la colonne H(par ex de H2 à H8), et dans la colonne G, a chaque fois quelle trouve A/FA3 dans la colonne H3, il incrémente la case de la colonne G qui est en face de celle de la colonne H
Dans l'exemple du tableau, cela donneré ceci :

Vous voyer se que je recherche???

SI quelqu'un sait comment faire je suis preneur car la je seche vraiment

Merci de votre aide

RGsport

8 réponses

rgsport Messages postés 3 Date d'inscription mardi 30 janvier 2007 Statut Membre Dernière intervention 23 mars 2007
23 mars 2007 à 22:45
OK je te remercie pour cette voie
Je peux valider ta réponse

Merci encore

RGsport
3
chaibat05 Messages postés 1883 Date d'inscription samedi 1 avril 2006 Statut Membre Dernière intervention 20 novembre 2007 2
23 mars 2007 à 21:57
Bonsoir,
une idée à approfondir
un tableau 2 dimensions T(Ligne,2)


1° Remplissage
For i = 1 to NbLignes   'nombre de lignes
  T(i,1)=ContenuCtlCl
  T(i,2)=ContenuClasse
Next


Parcourir avec deux compteurs
For i=1 To NbLignes
   If T(i,2)="A/FA3" Then
       ' tu remontes vers le haut à la recherche de la dernière valeur
       For j=i To 1 Step -1
          if T(j,2)="A/FA3" Then
              T(i,1)=T(j,1) +1
              Exit For
         End If
     Next      
   End If
Next

Prévoir quelque chose si la case est vide
peut être un test supplémentaire...
0
rgsport Messages postés 3 Date d'inscription mardi 30 janvier 2007 Statut Membre Dernière intervention 23 mars 2007
23 mars 2007 à 22:09
Le T pour le tableau tu le définie comment????

RGsport
0
chaibat05 Messages postés 1883 Date d'inscription samedi 1 avril 2006 Statut Membre Dernière intervention 20 novembre 2007 2
23 mars 2007 à 22:42
Dim T() As String
Dim NbLignes As Integer
Tu initialises le NonLignes, et tu redimensionne ton tableau en conséquence
Redim T(NbLignes,2)


T étant de type String, il faut penser à la convertion dans
T(i,1)=Str(CInt(T(j,1)) +1)


Mais rien ne t' oblige à utiliser un tableau.
Tu peux tout aussi bien travailler directement avec ta grille,
en faisant référence à ligne,colonne.
l' important c' est d' exploites l' idée
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_MPi Messages postés 3877 Date d'inscription mardi 19 mars 2002 Statut Membre Dernière intervention 17 août 2018 23
23 mars 2007 à 22:54
Avec cette formule, peut-être
=NB.SI($H$1:$H$50000;H1)-NB.SI(H2:H50000;H1)

Changer 50000 par le nombre de lignes à lire au besoin...

MPi
0
cs_MPi Messages postés 3877 Date d'inscription mardi 19 mars 2002 Statut Membre Dernière intervention 17 août 2018 23
23 mars 2007 à 22:56
En fait, changer aussi le 1 pour 2 si tu commences à écrire la formule sur la ligne 2...

MPi
0
jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 27
23 mars 2007 à 22:59
Bpnsoir,

Une idée idiote avant de me mettre au lit :

- observation : la colonne I (TEMPS) semble être au départ classé par ordre croissant


Si tel est bien le cas,


 


METHODE :


1) trier par ordre croissant la colonne H (CLASSE)
2)  parcourir la colonne H de haut en bas et mettre dans la ligne en cours correspondante de la colonne G une valeur qui s'incrémente si la ligne/colonne H du dessus est égale à la ligne/colonneH en cours et y "coller" 1 si tel n'est pas le cas.
3) remettre dans l'état d'origine en retriant par ordre croissant la colonne I (TEMPS)


Je suis fou....
0
moradkid Messages postés 3 Date d'inscription mardi 6 novembre 2007 Statut Membre Dernière intervention 13 juin 2009
15 déc. 2007 à 13:34
je veux savoir comment incrémenter la valeur d une cellules de datagridview ( quantité_produit)si elle trouve ke le nom du produit déja éxister
merci
0
Rejoignez-nous