Comment mettre plusieurs valeurs dans même cellule ?

Résolu/Fermé
cartiers - 25 févr. 2013 à 18:30
 cartiers - 8 mars 2013 à 18:57
Bonjour,
J'aimerai récupérer plusieurs informations dans une même cellule.
J'ai entre 0 et 6 cellules de couleur verte sur une feuille appelée "chapitre".
Je voudrai créer une boucle "If" qui me permet d'affecter à une cellule (A4) les noms indiqués dans les cellules vertes.
J'arrive à le faire pour une valeur mais je ne sais comment mettre une seconde valeur.
Voilà un morceau du code :
If Sheets("Chapitre 6").Range("K" & l).Interior.ColorIndex = 4 Then
Sheets("Impression").Range("A" & k + 1) = Sheets("Chapitre 6").Range("K7").Value
Else
If Sheets("Chapitre 6").Range("K" & l).Interior.ColorIndex = 45 Then
Sheets("Impression").Range("C" & k + 1) = Sheets("Chapitre 6").Range("K7").Value
Else
If Sheets("Chapitre 6").Range("K" & l).Interior.ColorIndex = 3 Then
Sheets("Impression").Range("D" & k + 1) = Sheets("Chapitre 6").Range("K7").Value
Else
If Sheets("Chapitre 6").Range("K" & l).Interior.ColorIndex = 6 Then
Sheets("Impression").Range("B" & k + 1) = Sheets("Chapitre 6").Range("K7").Value
End If
End If
End If
End If


Le problème, c'est que je dois faire la même chose pour les cellules Ll, Ml, Nl, Ol et Pl et mettre les valeurs toujours dans Ak+1(ou Bk+1, Ck+1 et Dk+1, selon la couleur donnée à la cellule)
J'aimerai donc faire la même chose pour lui dire par exemple :
Si la cellule K8 est verte, mettre Q.2 dans A4 et si L8 est verte, ajouter Q.3 (ce ne sont pas des valeurs que je dois mettre dans les cellules Ak, Bk, Ck, Dk mais du texte, si possible séparé par un espace, une virgule ou autre.

Voilà, je vous ai exposé mon problème, qui est un peu compliqué à comprendre, j'en suis consciente.
Merci d'avance de votre aide.





3 réponses

Le Pingou Messages postés 12048 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 26 avril 2024 1 427
25 févr. 2013 à 21:51
Bonjour,
Sur la base de ce bout de code, essayez ceci pour la deuxième ligne :
Sheets("Impression").Range("A" & k + 1) = Sheets("Impression").Range("A" & k + 1)& ", " & Sheets("Chapitre 6").Range("K7").Value

0
ccm81 Messages postés 10854 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 26 avril 2024 2 404
Modifié par ccm81 le 26/02/2013 à 13:39
Bonjour

Tu peux par la même occasion rendre ton code un peu plus lisible avec quelque chose du genre

coul = Sheets("Chapitre 6").Range("K" & l).Interior.ColorIndex   
With Sheets("Impression")   
  Select Case coul   
    Case  4   
      .Range("A" & k + 1) = .Range("A" & k + 1) & "," & Sheets("Chapitre 6").Range("K7").Value   
    Case 45   
      .Range("C" & k + 1) = .Range("C" & k + 1) & "," & Sheets("Chapitre 6").Range("K7").Value   
    Case  3   
      .Range("D" & k + 1) = .Range("D" & k + 1) & "," & Sheets("Chapitre 6").Range("K7").Value   
    Case  6   
      .Range("B" & k + 1) = .Range("B" & k + 1) & "," & Sheets("Chapitre 6").Range("K7").Value   
  End Select   
End With   
End Sub

bonne journée
0
Merci beaucoup.
Comme je débute, je découvre en effet tout juste l'intérêt des "boucles" CASE au lieu de IF.
Ca a l'air vraiment intéressant.
Je vais me pencher dessus sous peu.
Merci encore.
0
ccm81 Messages postés 10854 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 26 avril 2024 2 404
1 mars 2013 à 09:32
de rien

au passage un peu de vocabulaire
Select case n'est pas une "boucle" mais une "instruction conditionnelle à choix multiple"
bonne journée
0
Le Pingou Messages postés 12048 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 26 avril 2024 1 427
1 mars 2013 à 10:14
Bonjour Cartiers,
Désolé de vous avoir dérangé.
0
Désolée, je n'avais pas fait attention que ce n'était pas la même personne qui avait écrit les deux messages.
Je me suis servi de tes conseils pour mettre plusieurs valeurs dans ma cellule.
Je te remercie donc et je m'excuse de ne pas l'avoir fait plus tôt.
0