Rechercher : dans
Par :

Excel et VB mettre de la couleur

Dernière réponse le 5 mar 2008 à 16:44:22 LENA, le 25 oct 2007 à 15:12:07 
 Signaler ce message aux modérateurs

Bonjour,

UN PETIT SOUCI
JE VOUDRAIS SAVOIR COMMENT FAIRE POUR POUVOIR AFFECTE UNE COULEUR A UNE LIGNE DE DONNEE QUE JE COPIE DE EXCEL A EXCEL
COMMENT JE PEUT FAIRE POUR QUE LORSQUE JE COPI MES DONNEES CETTE LIGNE DE DONNE DEVIENNE ROUGE

OU ENCORE COMMENT FAIRE POUR
SI MA LIGNE DE MON TABLEAU EXCEL CONTIENT QUELQUE CHOSE JE LA COLORIE EN ROUGE ET SI IL N Y A RIEN JE NE FAIT RIEN;

MERCI A TOUS
J ATTEND MON SAUVEUR
BISOUS LENA

1

ShaBoo, le 25 oct 2007 à 15:19:43

Bonjour,

regarde la proprité .Interior.ColorIndex de ta ligne.


PS : n'écris pas en MAJUSCULE ... ça fait mal aux yeux ... ;p

Répondre à ShaBoo

2

LENA, le 25 oct 2007 à 15:29:47

Bonjour,
desolé j ecrit en petit ca va comme ca?
super xon a trouve la solution en meme temps seulement comment faire maintenant pour colorer la ligne si et seulement si une cellule de cette ligne contient qqchose.
merci et encore desole pour les grosse lettre.
lena

Répondre à LENA

3

ShaBoo, le 25 oct 2007 à 15:40:13

Tu testes la valeur de la cellule pour savoir si elle contient quelque chose.

Répondre à ShaBoo

4

ShaBoo, le 25 oct 2007 à 15:45:30

Dsl ... j'ai été un peu vite.

tu peux essayer ceci :

bCellVide = False
Pour Chaque cellule de la ligne

     Si Cellule.Value <> ""
         bCellVide = True
         Sortie Pour Chaque cellule de la ligne
     FinSi
FinPour

Si bCellVide = True
     Colorier la ligne
FinSi




(Je pense qu'il doit y avoir une méthode plus direct pour te dire si la ligne est vide ... mais je ne la connais pas ;p)

Répondre à ShaBoo

5

LENA, le 25 oct 2007 à 16:18:20

Bonjour,
merci j'essaye et je te donne le resultat

Répondre à LENA

6

ShaBoo, le 25 oct 2007 à 16:21:34

Tu peux regarder ce document. C'est une mine d'infos.

ftp://ftp2.developpez.be/developps/vb/VB-excel2.pdf

Répondre à ShaBoo

7

LENA, le 25 oct 2007 à 16:36:02

Merci c de ce document que je m inspire pour le moment mais je ne trouve pas ca tres complet.
dit moi j'ai essayer ton prog mais il m affiche un message d erreur "objet requis" tu sait de quoi il parle

j'ai ecrit le code comme ca

bCellVide = False

if Cellule.Value <> "" then
bCellVide = True

endifi

if bCellVide = True
rows.interior.colorindex=5
endif

il faut utilise un for?

merci et desole mais je suis un brel en vb

Répondre à LENA

8

ShaBoo, le 25 oct 2007 à 16:53:39

"merci et desole mais je suis un brel en vb"

lol ... meuh nan ...

Il te faut un "For".

For Each c In .Rows 
    'la 1ere cellule trouvé à non vide on sort (pas besoin de scanner tte la ligne)
    if c.Value <> "" then
       bCellVide = True
       Exit For
   end if
Next c

Répondre à ShaBoo

10

ShaBoo, le 25 oct 2007 à 17:09:03

bCellVide = True  'je met le boolean a vrai en etant pessimiste ... ;p

For Each c In .Rows  'Pour chaque cellule de la ligne
    
    if c.Value <> "" then 'si la cellule (c) est different de rien, vide, nada, null
       bCellVide = False  'je met le boolean à faux pour dire que j'ai trouvé
                         'au moins une cellule de la ligne qui est remplie
       Exit For ' je sors du For Each, car on a trouvé une cellule non vide
   end if
Next c

Répondre à ShaBoo

9

LENA, le 25 oct 2007 à 17:00:39

OK mais tu peut me traduire ca aussi stp
lol ... meuh nan ...
merci

Répondre à LENA

11

LENA, le 25 oct 2007 à 17:19:14

Bonjour,
voici le code que g ecrit

For Each cellule In Rows
bcellVide = False
If cellule.Value <> "" Then
bcellVide = True
Next

End If
If bcellVide = True Then
Rows.Interior.ColorIndex = 5
End If

il me met comme erreur Next sans for

je commenc ea desesperee

Répondre à LENA

13

ShaBoo, le 25 oct 2007 à 17:30:32

"je commenc ea desesperee"

Normal ... c'est bientot la fin de la journée ... il te faut un p'tit gouter ... ;p

(petit conseil : utilise la balise de mise en forme pour ton code => c'est la petite icone avec "<>". tu selectionne ton code, tu appuies sur l'icone et hop ... code mise en forme)

For Each cellule In Rows
   bcellVide = False ' Pourquoi pas. mais il est preferable de le mettre à False avant de rentrer dans la boucle
   If cellule.Value <> "" Then
       bcellVide = True 'Tu veux scanner ttes les cellules
   'il te manque le End If ici
Next

End If 'il n'a rien à faire ici
If bcellVide = True Then
   Rows.Interior.ColorIndex = 5
End If 

Répondre à ShaBoo

12

LENA, le 25 oct 2007 à 17:25:16

Avec ton code du message 10 une erreur "incompatibilite de type" s'affiche hahahahhahhahhahahahha
ca s appelle un hurlement primaire.

en tout cas je te remercie de ta patience c cool

Répondre à LENA

14

ShaBoo, le 25 oct 2007 à 17:48:18

"hahahahhahhahhahahahha "

Bouh ... ça fait froid dans le dos ... bientot Halloween


Essaye ce code :

bCellVide = False

For Each c In Range("A1:A5")  
    
    if c.Value <> "" then 
       MsgBox c.Value & " dans " & c.Adress
       bCellVide = True
       Exit For ' je sors du For Each, car on a trouvé une cellule non vide
   End If
Next c

Répondre à ShaBoo

15

LENA, le 25 oct 2007 à 18:05:23

Pas mal lorsque qu il n y a rein dans mes cellule mais si il y a qqchose une message erreur s affiche propriete ou methode non geree par cette objet..............
ca te parle?

Répondre à LENA

17

ShaBoo, le 25 oct 2007 à 18:08:43

Waip ...

il faut ecrire c.Address au lieu de c.Adress

Répondre à ShaBoo

16

zarg, le 25 oct 2007 à 18:07:35

C'est très joli avec du code, mais Excel sait faire ça sans macro :

=> Format / Mise en Forme Conditionnelle
=> au lieu de "la valeur de la cellule est", tu choisis "la formule est"

Après, il y a une syntaxe un peu funky à attraper, mais ça te permet de mettre en forme une cellule en fonction de ce qu'il y a dans une AUTRE cellule.

Exemple, la formule est (sans les guillemets, hein) : "=estnum(A5)" ; ça t'applique la m.e.f. conditionnelle si il y a une valeur numérique dans A5. Après, pour étendre à une plage, faut jouer avec les références de ligne et colonne, les $$$...

Bonne chance !

Zarg

Répondre à zarg

18

LENA, le 25 oct 2007 à 18:13:10

MERCI POUR TOUT C ETAIT COOL CETTE JOURNEE AVEC TOI
TU ES VRAIMENT PATIENT OU PATIENTE
J ESPERE POUVOIR TE REPARLE

PS TU VIENS DE QUELLE REGION
MOI JE VIENS DE L ALSACE ON EST PEU ETRE VOISIN ET JE SUIS UNE FILLE QUI GALEREEEEEEEEEEEEEEE EN VB
ET TOI

Répondre à LENA

19

ShaBoo, le 25 oct 2007 à 18:16:02

Aïee ... j'ai mal au yeux ...;p

Je suis à l'ouest ... tt près de l'océan. Et je suis en garçon ... ;p

Il m'arrive aussi de galérer en vba. Mais il y a mille façon d'arriver à ce que l'on veut.

Répondre à ShaBoo

20

LENA, le 25 oct 2007 à 18:20:34

Desole fin de journee
je suis aller dans les landes cette ete tu as de la chance nous on a la neige et les cygone et toi la mer et les mouettes.plutot cool mec alors
tu as quel age moi 22 et je suis en licence en apprentissage dans la prog sur simatic manager plutot
et toi enfin si je ne suis pas trop indiscrette.
enfin je te trouve plutot cool pour te prendre la tete a m aider toute la journee

Répondre à LENA

21

ShaBoo, le 25 oct 2007 à 18:23:38

"enfin je te trouve plutot cool pour te prendre la tete a m aider toute la journee"

ça me détend de mes longues journées de labeur en informatique ... cela me permet de m'essayer à autre chose.

Mais si tu le veux bien, et pour ne pas trop polluer le forum, tu peux m'ecrire en MP.

De plus, si ton pb est réglé pour ce sujet, un p'tit résolu est le bien venu ;p

Répondre à ShaBoo

22

LENA, le 26 oct 2007 à 08:16:22

Bonjour,
bien dormi
MP je ne sais pas ce que c
et mon prob n est tjours pas resolu car je ne peut pas le faire depuis excel car j ai 5 fichier excel de donne que je doit copier sous un autre excel et attribue automatiquement une couleur par fichier.
Mais je pense que je ne doit pas etre loin.
bonne journee

Répondre à LENA

23

ShaBoo, le 26 oct 2007 à 09:06:41

Bonjour,

"bien dormi"

Oui ... comme un loir ...

"MP je ne sais pas ce que c"

MP pour Mail Privé. En cliquant sur mon pseudo, tu auras la possibilité de m'envoyer des messages qui ne pollueront pas le forum.

"mon prob n est tjours pas resolu"

N'hésite pas à ouvrir un autre sujet de discussion en cas de prob.

Bonne journée.

Répondre à ShaBoo

24

demonos, le 12 déc 2007 à 10:24:38

Lol LENA, tu t'es fait cassé dans tous les sens là!!!
xD

"du Nord-Est j'usqu'au Sud-Ouest, sans jamais passer par la Corse, Et tu casse et tu casse..." (cf. Brice de nice)


nan sérieux, c'est pas pour ca que j'écris, je voudrai matre de la couleur dans ma msgbox, mais comment on fait?

Répondre à demonos

25

 lena, le 5 mar 2008 à 16:44:22

Brice de nice quel référence!

Répondre à lena