nobilis
Messages postés32Date d'inscriptionvendredi 11 février 2005StatutMembreDernière intervention21 mars 2005
-
17 févr. 2005 à 13:09
cs_ITALIA
Messages postés2169Date d'inscriptionvendredi 20 avril 2001StatutMembreDernière intervention30 juin 2009
-
18 févr. 2005 à 12:55
Bonjour,
Je voudrais pouvoir afficher le contenu d'une cellule A9 dans la cellule C618 si au moins une cellule de la ligne 15 comprise entre les colonnes C et Z contient la valeur "JT".
Je voudrais aussi pouvoir afficher le contenu de la cellule A17 dans la cellule C618 (ou C619 si C618 déjà remplie) si au moins une cellule de la ligne 23 comprise entre les colonnes C et Z contient la valeur "JT".
Enfin, je voudrais pouvoir afficher le contenu de la cellule A25 dans la cellule C618 (ou C619 si C618 remplie ou C620 si C618 et C619 remplies) si au moins une cellule de la ligne 31 comprise entre les colonnes C et Z contient la valeur "JT".
cs_ITALIA
Messages postés2169Date d'inscriptionvendredi 20 avril 2001StatutMembreDernière intervention30 juin 20099 17 févr. 2005 à 13:47
For i=3 to 26 'de c à z
If Cells(23, i).Value = "JT" Then
if Cells(618, 3).Value="" Then
Cells(618, 3).Value=Cells(17, 1).Value
exit for
else
Cells(619, 3).Value=Cells(17, 1).Value
exit for
end if
end if
Next
nobilis
Messages postés32Date d'inscriptionvendredi 11 février 2005StatutMembreDernière intervention21 mars 20051 17 févr. 2005 à 16:42
Avec ce programme, voir ci-dessous, j'arrive à afficher un tableau (618, 3 à 632, 3) reprenant les valeurs de la 1ère colonne (ligne 9 (ligne - 6), 17, 25, 33,...).
Le problème est le suivant, le programme affiche plusieurs fois les mêmes valeurs dans le tableau final (618, 3 à 632, 3) or je voudrais que les mêmes valeurs ne se retrouvent pas dans ce tableau.
Concrètement, dans la première colonne (ligne 9, 17, 25, 33,...), j'insère un sujet de reportage par cellule. Mon programme actuel fait que si "JT" est inscrit en ligne 15, 23,31,... sur n'importe quelle colonne, le sujet de la première colonne est ajouté dans le tableau final.
OR je voudrais, ne pas retrouver deux fois le même sujet. Donc, si JT apparait sur la même ligne dans plusieurs colonnes, le sujet ne doit pas apparaître plusieurs fois dans le tableau final.
Merci
For li_col = 3 To 26 'de c à z
For ligne = 15 To 407 Step 8
If Cells(ligne, li_col).Value = "JT" Then
If Cells(618, 3).Value = "" Then
Cells(618, 3).Value = Cells(ligne - 6, 1).Value
Else
If Cells(619, 3).Value = "" Then
Cells(619, 3).Value = Cells(ligne - 6, 1).Value
Else
If Cells(620, 3).Value = "" Then
Cells(620, 3).Value = Cells(ligne - 6, 1).Value
Else
If Cells(621, 3).Value = "" Then
Cells(621, 3).Value = Cells(ligne - 6, 1).Value
Else
If Cells(622, 3).Value = "" Then
Cells(622, 3).Value = Cells(ligne - 6, 1).Value
Else
If Cells(623, 3).Value = "" Then
Cells(623, 3).Value = Cells(ligne - 6, 1).Value
Else
If Cells(624, 3).Value = "" Then
Cells(624, 3).Value = Cells(ligne - 6, 1).Value
Else
If Cells(625, 3).Value = "" Then
Cells(625, 3).Value = Cells(ligne - 6, 1).Value
Else
If Cells(626, 3).Value = "" Then
Cells(626, 3).Value = Cells(ligne - 6, 1).Value
Else
If Cells(627, 3).Value = "" Then
Cells(627, 3).Value = Cells(ligne - 6, 1).Value
Else
If Cells(628, 3).Value = "" Then
Cells(628, 3).Value = Cells(ligne - 6, 1).Value
Else
If Cells(629, 3).Value = "" Then
Cells(629, 3).Value = Cells(ligne - 6, 1).Value
Else
If Cells(630, 3).Value = "" Then
Cells(631, 3).Value = Cells(ligne - 6, 1).Value
Else
If Cells(631, 3).Value = "" Then
Cells(631, 3).Value = Cells(ligne - 6, 1).Value
Else
If Cells(632, 3).Value = "" Then
Cells(632, 3).Value = Cells(ligne - 6, 1).Value
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
nobilis
Messages postés32Date d'inscriptionvendredi 11 février 2005StatutMembreDernière intervention21 mars 20051 17 févr. 2005 à 19:53
D'abord, grand Merci Italia pour ton aide.
En fait, tes codes fonctionnent mais quand je veux les développer car j'ai plus de valeurs, de cellules à travailler, je suis obligé de faire des développements et je n'obtiens pas ce que je veux. Il est vrai que je ne suis pas très doué
Mon problème avec le programme ci-dessus est le suivant, le programme affiche plusieurs fois les mêmes valeurs dans le tableau final (618, 3 à 632, 3) or je voudrais que les mêmes valeurs ne se retrouvent pas dans ce tableau.
nobilis
Messages postés32Date d'inscriptionvendredi 11 février 2005StatutMembreDernière intervention21 mars 20051 18 févr. 2005 à 09:32
Je vais essayer d'être plus clair en simplifiant mon exemple.
J'ai deux tableaux : un tableau d'encodage des données et un tableau qui fournit les résultats.
Le tableau d'encodage est composé des colonnes A, B, C, D et des lignes 1,2 et 3.
Il contient les valeurs suivantes :
Sujet 1
,
JT
,JT <?xml:namespace prefix o ns "urn:schemas-microsoft-com:office:office" />
,
JT
,
----
Sujet 2
,
JT
,
X
,
X
,
----
Sujet 3
,
JT
,
X
,
JT
Le tableau des résultats doit donner le résultat suivant quand je lance la macro :
Résultat 1
,
Sujet 1
,
----
Résultat 2
,
Sujet 2
,
----
Résultat 3
,
Sujet 3
Donc, si JT apparaît au moins une fois dans la ligne 1 du tableau d'encodage, il faut faire apparaître le sujet 1 dans le tableau des résultats.
Si JT apparaît au moins une fois dans la ligne 2 du tableau d'encodage, il faut faire aparaître le sujet 2 dans le tableau des résultats. Idem pour ligne 3.
Attention, il faut que les sujets s'affichent l'un en-dessous de l'autre et faire en sorte que si la première ligne du tableau de résultat contient déjà un sujet, il faut l'encoder à la ligne suivante. Idem pour la deuxième ligne.
Voilà, j'espère avoir été plus clair et je réfléchis de mon côté. Si on arrive à comprendre la logique pour cet exemple, je pourrais l'appliquer à mon problème.
Maintenant, je voudrais que ce programme fonctionne pour les lignes 23, 31, 39, 47,...,407. Mais ça ne fonctionne pas avec une boucle for...next.
Merci d'avance
If Cells(15, 3).Value "JT" Or Cells(15, 4).Value "JT" Or Cells(15, 5).Value = "JT" Or Cells(15, 6).Value = "JT" Or Cells(15, 7).Value = "JT" Or Cells(15, 8).Value = "JT" Or Cells(15, 9).Value = "JT" Or Cells(15, 10).Value = "JT" Or Cells(15, 11).Value = "JT" Or Cells(15, 12).Value = "JT" Or Cells(15, 13).Value = "JT" Or Cells(15, 14).Value = "JT" Or Cells(15, 15).Value = "JT" Or Cells(15, 16).Value = "JT" Or Cells(15, 17).Value = "JT" Or Cells(15, 18).Value = "JT" Or Cells(15, 19).Value = "JT" Or Cells(15, 20).Value = "JT" Or Cells(15, 21).Value = "JT" Or Cells(15, 22).Value = "JT" Or Cells(15, 23).Value = "JT" Or Cells(15, 24).Value = "JT" Or Cells(15, 25).Value = "JT" Or Cells(15, 26).Value = "JT" Then
If Cells(618, 3).Value = "" Then
Cells(618, 3).Value = Cells(9, 1).Value ElseIf Cells(619, 3).Value "" Then Cells(619, 3).Value Cells(9, 1).Value ElseIf Cells(620, 3).Value "" Then Cells(620, 3).Value Cells(9, 1).Value ElseIf Cells(621, 3).Value "" Then Cells(622, 3).Value Cells(9, 1).Value ElseIf Cells(622, 3).Value "" Then Cells(623, 3).Value Cells(9, 1).Value ElseIf Cells(623, 3).Value "" Then Cells(624, 3).Value Cells(9, 1).Value ElseIf Cells(624, 3).Value "" Then Cells(625, 3).Value Cells(9, 1).Value ElseIf Cells(625, 3).Value "" Then Cells(626, 3).Value Cells(9, 1).Value ElseIf Cells(626, 3).Value "" Then Cells(627, 3).Value Cells(9, 1).Value ElseIf Cells(627, 3).Value "" Then Cells(628, 3).Value Cells(9, 1).Value ElseIf Cells(628, 3).Value "" Then Cells(629, 3).Value Cells(9, 1).Value ElseIf Cells(629, 3).Value "" Then Cells(630, 3).Value Cells(9, 1).Value ElseIf Cells(630, 3).Value "" Then Cells(631, 3).Value Cells(9, 1).Value ElseIf Cells(631, 3).Value "" Then Cells(632, 3).Value Cells(9, 1).Value
End If