rgsport
Messages postés3Date d'inscriptionmardi 30 janvier 2007StatutMembreDernière intervention23 mars 2007
-
23 mars 2007 à 21:24
moradkid
Messages postés3Date d'inscriptionmardi 6 novembre 2007StatutMembreDernière intervention13 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
chaibat05
Messages postés1883Date d'inscriptionsamedi 1 avril 2006StatutMembreDernière intervention20 novembre 20072 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...
chaibat05
Messages postés1883Date d'inscriptionsamedi 1 avril 2006StatutMembreDernière intervention20 novembre 20072 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
Vous n’avez pas trouvé la réponse que vous recherchez ?
jmfmarques
Messages postés7666Date d'inscriptionsamedi 5 novembre 2005StatutMembreDernière intervention22 août 201427 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)