clairettepoot
Messages postés3Date d'inscriptionjeudi 17 décembre 2009StatutMembreDernière intervention28 juillet 2010
-
28 juil. 2010 à 10:50
Chouchensb
Messages postés64Date d'inscriptionjeudi 3 mars 2005StatutMembreDernière intervention 2 septembre 2010
-
28 juil. 2010 à 22:17
Bonjour,
J'ai un problème avec les macro sur excel,
en fait je voudrai mettre le contenu de plusieurs cellule dans une seule avec des conditions, seulement quand je tape le code, j'ai seulement la dernière cellule qui s'affiche dans ma cellule de destination.
Est ce que quelqu'un pourait me renseigner svp!!??
Je Vous mets le code:
Sub CP1()
Dim i
Sheets("Feuil1").Select
For i = 3 To 64
If Range("C" & i).Value "CP" Then Sheets("Feuil2").Range("B4") Range("B" & i).Value
Next i
clairettepoot
Messages postés3Date d'inscriptionjeudi 17 décembre 2009StatutMembreDernière intervention28 juillet 2010 28 juil. 2010 à 16:02
J'ai une autre question, comment fais t'on pour faire tourner les macro en continu??
et pour rafraichir la page à chaque fois??
j'espère que tu comprends mes questions.
puis si on modifie une cellule dans une feuille, que ça se mette à jour dans l'autre?
Chouchensb
Messages postés64Date d'inscriptionjeudi 3 mars 2005StatutMembreDernière intervention 2 septembre 2010 28 juil. 2010 à 22:17
Euh je ne pense pas que les macros soient vraiment faites pour tourner en continu, ce n'est pas fait pour. C'est plutot fait pour faire du code évènementiel, c'est à dire qui se déclenche quand on fait quelquechose (quand on clique sur un bouton par exemple).
Ceci étant dit, tu peux faire exécuter ton code à chaque modification de ta feuille si c'est ce que tu veux. Pour cela, écrit ton code de la façon suivante dans la feuille que tu veux surveiller (la feuille 1 je suppose):
Private Sub Worksheet_Change(ByVal Target As Range)
Dim i
Sheets("Feuil2").Range("B4") = ""
For i = 3 To 64
If InStr(1, Range("C" & i).Value, "CP") <> 0 Then
Sheets("Feuil2").Range("B4") = Sheets("Feuil2").Range("B4") & " " & Range("C" & i).Value
End If
Next i
Activeworkbook.Save
End Sub
L'évènement Worksheet_Change, et donc ton code, se déclenchera chaque fois que ta feuille sera modifié. Si tu veux connaitre la liste de tous les évèments gérés, quand tu es dans la fenêtre de dévelopement VBA, regarde les deux listes déroulantes en haut de la fenêtre de code. Si tu es sur une feuille, par exemple, sélectionne dans la liste de gauche Worksheet. Tu obtiendra alors dans la liste de droite tous les évènements disponibles, et si tu clique sur l'un d'eux, ça te génèrera automatiquement l'en-tête du code associé.