Flux rss
Collection CommentCaMarche.net
Rechercher : dans
Par : Pertinence Date Nom d'utilisateur
Statut : Résolu

Excel macro: condition sur plusieurs cellules

jossdi, le jeudi 17 juillet 2008 à 17:22:21
Bonjour,
je cherche à mettre une condition sur plusieurs cellules, la voici:
Si les cellules de B20à B24 de la feuille1 sont toutes vides alors la cellules A5 de la feuille2
est jaune.
voici mon code

Sub macro1()
For i = 20 To 24
Sheets("feuille1").Activate
If Cells(i, 2).Interior.ColorIndex = -4142 Then
Sheets("feuille2").Activate
Cells(5,1).interior.colorindex = 6
end if
next
end sub

la macro ne fait pas exactement ce que je veux:
il suffit qu'une des cellule soit vide pour A5 devienne jaune alors qu'il faut quelles soient toutes
vides pour que A5 deviennent jaune.
Merci d'avance je rame un peu je dois l'avouer!!
Configuration: Windows XP
Firefox 2.0.0.16
Répondre à jossdi  Signaler ce message aux modérateurs Aller au dernier message

1


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
lermite222, le jeudi 17 juillet 2008 à 17:38:01
bonjour,
Sans avoir approfondi...
If Cells(i, 2).Interior.ColorIndex = -4142 Then
si la veleur est réellement à -4142 tu doit employé Color et pas colorIndex
ColorIndex c'est de 1 à 48 et sûrement pas du négatif, là tu a déjà une erreur.
Ensuite tu ne teste qu'une seule cellule à la fois

Voir
dim F as boolean
Sheets("feuille1").Activate

For i = 20 To 24
If Cells(i, 2) <> "" then F = True: exit for
next i
if not F then
Sheets("feuille2").Activate
Cells(5,1).interior.colorindex = 6
end if

A+
L'expérience instruit plus sûrement que le conseil. (André Gide)  
Répondre à lermite222

2


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
jossdi, le jeudi 17 juillet 2008 à 18:39:24
merci ça marche.
a+
Répondre à jossdi

3


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
jossdi, le vendredi 18 juillet 2008 à 11:16:11
bonjour,
je me suis trompé j'ai encore le même problème ça teste une cellule à la fois.
voici le code complet peut être ai je oublié un code:

Sub technologydetailfinish()

Dim F As Boolean
Sheets("TECHNOLOGY DETAIL").Activate

For i = 20 To 24
If Cells(i, 2) <> "" Then F = True: Exit For
Next i
If Not F Then
Sheets("STACK UP").Activate
Cells(9, 38).Interior.Color = 10092543
Cells(10, 38).Interior.Color = 10092543
Cells(10, 47).Interior.Color = 10092543
Cells(9, 38).Value = ""
Cells(10, 38).Value = ""
Cells(10, 47) = ""
Cells(12, 38).Interior.Color = 10092543
Cells(13, 38).Interior.Color = 10092543
Cells(13, 47).Interior.Color = 10092543
Cells(12, 38).Value = ""
Cells(13, 38).Value = ""
Cells(13, 47) = ""
Cells(49, 38).Interior.Color = 10092543
Cells(50, 38).Interior.Color = 10092543
Cells(50, 47).Interior.Color = 10092543
Cells(49, 38).Value = ""
Cells(50, 38).Value = ""
Cells(50, 47) = ""
Cells(52, 38).Interior.Color = 10092543
Cells(53, 38).Interior.Color = 10092543
Cells(53, 47).Interior.Color = 10092543
Cells(52, 38).Value = ""
Cells(53, 38).Value = ""
Cells(53, 47) = ""
Cells(11, 19).Interior.ColorIndex = 2
Cells(51, 19).Interior.ColorIndex = 2

End If

End Sub

tanks for advance
Répondre à jossdi

4


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
lermite222, le vendredi 18 juillet 2008 à 11:32:49
For i = 20 To 24 
If Cells(i, 2) <> "" Then F = True: Exit For 
Next i 

Avec cette configuration tu teste les cellules B20, B21, B22, B23 et B24, c'est bien ces cellules que tu veux tester ?
Quand tu dit qu'il ne teste qu'une seule cellule c'est pas possible sauf que dés qu'il y a une cellule non vide il sort de la boucle mais F est à True donc le if ne se fait opas.
Tu dit... parce que ca devrais fonctionner. L'expérience instruit plus sûrement que le conseil. (André Gide)  
Répondre à lermite222

5


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
jossdi, le vendredi 18 juillet 2008 à 14:30:47
non ça ne fonctionne pas super
il suffit qu'une des cellules soit vide pour que la macro s'exécute alors que je voudrais qu'elle ne s'exécute que si toutes les cellules sont vides.
Répondre à jossdi

6


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
jossdi, le vendredi 18 juillet 2008 à 14:36:37
en faisant quelques tests je pense avoir trouver l'erreur.
ton code marche très bien mais dans le cas de cellule vide (sans écriture)
alors que moi je voudrais que ce soit dans le cas de cellule vide (couleur de fond transparente)
que faudrait il changer dans le code pour parler de fond de cellule et non d'éventuelle écriture.
Répondre à jossdi

7


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
lermite222, le vendredi 18 juillet 2008 à 16:20:17
Y a un noeud, si ton fichier est pas trop coinfidentiel met le sur Cijoint et donne le lien dans un poste suivant. L'expérience instruit plus sûrement que le conseil. (André G­ide)  
Répondre à lermite222

8


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
jossdi, le vendredi 18 juillet 2008 à 16:35:25
c où le "Cijoint"
Répondre à jossdi

9


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
lermite222, le samedi 19 juillet 2008 à 02:50:47
changer la ligne
If Cells(i, 2) <> "" Then F = True: Exit For
par
If Cells(i, 2)).Interior.ColorIndex <> xlNone Then F = True: Exit For
L'expérience instruit plus sûrement que le conseil. (André Gide)  
Répondre à lermite222

10


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
 jossdi, le lundi 21 juillet 2008 à 10:36:10
ok ça marche parfaitement merci beaucoup!
excuse pour la réponse tardive le w-e c'est sacré lol
a+
Répondre à jossdi
Date enregistrement excel (Résolu) bonjour, je voudrai afficher la date de mise a jour d'une feuille excel dans une cellule lorsque j'ai effectué des modifications et que je quitte excel. lorsque je quitte excel et que j'ai apporté des modifications a ma feuille, je... www.commentcamarche.net/forum/affich-3609152-date-enregistrement-excel
Excel boutons formulaires visibles ou non... (Résolu) Re Bonjour, Savez vous comment afficher des boutons de commandes (incorporés) sur une feuille excel sous conditions : à l'ouverture du fichier, un formulaire s'affiche, selon le bouton cliqué (on peut dire ça comme ça?!), je souhaite que des... www.commentcamarche.net/forum/affich-2356932-excel-boutons-formulaires-visibles-ou-non
Macro mise en forme sous excel (Résolu) Bonjour, Je suis néophyte en terme de programmation mais j'aimerais faire une macro qui me permette de créer une mise en forte personnalisée, au même titre que ce qui est fait sous excel via Format/Cellule/Nombre/Personnalisé. La seule différence... www.commentcamarche.net/forum/affich-6793087-macro-mise-en-forme-sous-excel
[Excel] Colorer des cellules sur conditionsIl existe dans Excel des fonctions très pratiques mais peu connues et peu utilisées. Exemple : vous souhaitez qu'une cellule se colore automatiquement en rouge (ou autre mise en forme de police, de bordure, de trame) selon une condition : un... www.commentcamarche.net/faq/sujet-3975-excel-colorer-des-cellules-sur-conditions
[Excel] affichage conditionnel cellule (Résolu)Bonjour, Je souhaite réaliser un affichage particulier dans une cellule : J'ai des noms d'applications sur une feuille excel. Dans une autre feuille du meme classeur, j'ai un tableau croisé dynamique dans lequel je trouve les... www.commentcamarche.net/forum/affich-4912764-excel-affichage-conditionnel-cellule
Excel : verrouillage cellules et filtre (Résolu)Bonjour, Dans un tableau excel comportant des cellules avec formules que j'ai verrouillées, j'aimerais également avoir accès au filtre automatique lors de saisies mais je dois déprotéger ma feuille pour avoir accès au filtre automatique... www.commentcamarche.net/forum/affich-6538403-excel-verrouillage-cellules-et-filtre
[VBA] Exécuter une macro en sortie d'excel (Résolu)Bonjour, Voila dans mon classeur d'excel j'exécute une macro de mise en page à l'ouverture d'excel, je voudrais en excuter une autre à la sortie d'excel (macro contraire à la première) Merci!... www.commentcamarche.net/forum/affich-3086370-vba-executer-une-macro-en-sortie-d-excel