• Initiateur de la discussion Initiateur de la discussion bin
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

B

bin

Guest
Bonjour à tous!!!

Mon problème est surement tres simple mais je débutte depuis 1 mois en VBA sous excel...alors soyez cléments!

Voila:
je veux copier une plage de 5 cellules du fichier classeur1.xls et les coller à la suite de celle que j'ai déjà collées dans classeurs2.xls, et ce, de façon repetitive...
C'est ce que fait ce code:


Sub couleur()
Range("C4😀8").Select
Selection.Copy
Workbooks.Open Filename:= _
"E:\Documents and Settings\Fabien.RICHARD\Desktop\Classeur2.xls"
Range("C6").End(xlDown).Offset(1, 0).Select
ActiveSheet.Paste
ActiveWorkbook.Save
End Sub

Mais ce qui serai bien c'est que pour differencier la plage copiée avec sa précedente, elle ait des couleur differentes...
Alors j'ai intercalé ces deux lignes:

Range(ActiveCell.End(xlDown), ActiveCell.End(xlDown).Offset(-4, 1)).Select
Selection.Interior.ColorIndex = 8

(8 c'est mon chiffre fetiche...evid's)

Est ce que qqun sait comment je peux mettre une couleur differente à chaque fois (sauf des copuleurs très foncées qui m'empecheraient de voir ce qui y est ecrit)?
Genre en mettant un nombre aleatoire...


Merci à TOUS!!
 
Salut bin,

Tu peux par exemple alterner deux couleurs pour éviter que ce soit le carnaval !

En plus de la couleur 8, tu choisies la 88 ou la 888 ou ...

Tu testes la couleur de la zone précédente et tu choisies ta couleur en fonction.

Bon coloriage !
 
Bonjour à tous,

Je pense qu'il serait plus simple d'alterner 2 couleurs, car pour une couleur aléatoire, il faudra tester qu'elle soit différente de la précédente, le hasard ne faisant pas toujours bien les choses!
Voici ce que ça pourrait donner:

Sub couleur()
Dim AncienneCouleur
    Range("C4😀8").Copy
    Workbooks.Open Filename:= _
        "E:\Documents and Settings\Fabien.RICHARD\Desktop\Classeur2.xls"
    AncienneCouleur=Range("C6").End(xlDown).Interior.ColorIndex
    Range("C6").End(xlDown).Offset(1, 0).Select
    ActiveSheet.Paste
    if AncienneCouleur=8 then
        Range(ActiveCell.End(xlDown), ActiveCell.End(xlDown).Offset(-4, 1)).Interior.ColorIndex = 4 'L'autre couleur que tu souhaites!
    else
         Range(ActiveCell.End(xlDown), ActiveCell.End(xlDown).Offset(-4, 1)).Interior.ColorIndex = 8
    end if
ActiveWorkbook.Save
End Sub


Voilà, bonne journée.
 
Bonjour LaurentTBT,

Je suis content que tu me confirmes que l'idée était bonne !

Dans quelques temps, j'essaierai de mettre le code qui va avec, mais pour le moment, je me méfie des cagades que je pourrais marquer !

Merci de ton aide !

A plus
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

A
Réponses
6
Affichages
2 K
A
Retour