Fonction if then sous excel 2007
Fermé
loulou38
-
31 juil. 2009 à 13:59
Mike-31 Messages postés 18381 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 28 mars 2025 - 31 juil. 2009 à 15:19
Mike-31 Messages postés 18381 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 28 mars 2025 - 31 juil. 2009 à 15:19
A voir également:
- Fonction if then sous excel 2007
- Fonction si et excel - Guide
- Liste déroulante excel - Guide
- Save as pdf office 2007 - Télécharger - Bureautique
- Fonction moyenne excel - Guide
- Word et excel gratuit - Guide
5 réponses
pijaku
Messages postés
12263
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
4 janvier 2024
2 757
31 juil. 2009 à 14:10
31 juil. 2009 à 14:10
Salut,
Mes petites corrections en gras :
Sub Miseàjour()
'Aller en E2
Range("E2").Select
Dim x As Integer
Do
'Boucle tant que le compteur x est inférieur à 1000
Do While x < 1000
'Incrémente le compteur.
x = x + 1
'Tester si la cellule CONTIENT OK, si non descendre d'une ligne
If Activecell.Value = "OK" Then
'reculer d'une colonne
ActiveCell.Offset(0, -1).Select ' ------> ici tu te places en colonne D
'efface les condition et met la cellule en vert
Selection.FormatConditions.Delete
With Selection.Interior
.Pattern = xlSolid
.PatternColorIndex = xlAutomatic
.Color = 651546
.TintAndShade = 0
.PatternTintAndShade = 0
End With
ActiveCell.Offset(0, 1).Select ' ------> Il faut te replacer en colonne E
End If
'descend d'une ligne
ActiveCell.Offset(1, 0).Select
'Anticipe la sortie de la boucle.
Exit Do
Loop
'Quitte la boucle si la variable à la valeur True.
Loop Until x = 1000
End Sub
Mes petites corrections en gras :
Sub Miseàjour()
'Aller en E2
Range("E2").Select
Dim x As Integer
Do
'Boucle tant que le compteur x est inférieur à 1000
Do While x < 1000
'Incrémente le compteur.
x = x + 1
'Tester si la cellule CONTIENT OK, si non descendre d'une ligne
If Activecell.Value = "OK" Then
'reculer d'une colonne
ActiveCell.Offset(0, -1).Select ' ------> ici tu te places en colonne D
'efface les condition et met la cellule en vert
Selection.FormatConditions.Delete
With Selection.Interior
.Pattern = xlSolid
.PatternColorIndex = xlAutomatic
.Color = 651546
.TintAndShade = 0
.PatternTintAndShade = 0
End With
ActiveCell.Offset(0, 1).Select ' ------> Il faut te replacer en colonne E
End If
'descend d'une ligne
ActiveCell.Offset(1, 0).Select
'Anticipe la sortie de la boucle.
Exit Do
Loop
'Quitte la boucle si la variable à la valeur True.
Loop Until x = 1000
End Sub
Mike-31
Messages postés
18381
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
28 mars 2025
5 126
31 juil. 2009 à 14:14
31 juil. 2009 à 14:14
Salut,
Pourquoi utiliser le code VBA pour une fonction aussi basique, tu as la mise en forme conditionnelle qui le fait très bien
mettre en surbrillance la partie de colonne D concernée et Format/mise en forme conditionnelle, sélectionner la forme est et coller cette formule,/Format choisir la couleur.
si la zone commence en D et E1
=E1="ok"
ou
=E2="ok"
si la zone commence en D et E2
A+
Mike-31
Un problème sans solution est un problème mal posé (Einstein)
Pourquoi utiliser le code VBA pour une fonction aussi basique, tu as la mise en forme conditionnelle qui le fait très bien
mettre en surbrillance la partie de colonne D concernée et Format/mise en forme conditionnelle, sélectionner la forme est et coller cette formule,/Format choisir la couleur.
si la zone commence en D et E1
=E1="ok"
ou
=E2="ok"
si la zone commence en D et E2
A+
Mike-31
Un problème sans solution est un problème mal posé (Einstein)
Salut MIKE 31
J'ai essayé de mettre en forme conditionnelle mais je ne sais pas pourquoi ça ne fonctionne pas, d'ailleurs j'aurai préférer faire comme ça car la case se mettrai en vert automatiquement tandis qu'avec la macro je suis obligé de la lancer pour avoir ce que je veux.
Pour la mise en forme conditionnel, j'ai procédé de la manière suivante:
selection de la cellule
mise en forme conditionnelle
appliquer la mise en forme uniquement aux cellules qui contiennent ...
valeur de la cellule égale à =E2="OK"
mais ça ne donne rien ( peut être que c'est dû au fait que j'ai déjà 2 conditions existantes sur la cellule à colorer en vert, 1ère condition : si date affiché dans la cellule est inférieur à AUJOURDHUI() alors colorer en rouge
2ème condition : si date affiché dans la cellule est supérieur ou égale à AUJOURDHUI() alors en jaune
donc je pense que ces conditions sont prioritaire et du coup pas de vert en utilisant cette solution.
Donc en fait je suis obligé de passer par une macro pour effacer les conditions existantes et pouvoir colorer ma cellule en vert.
Je sais pas si j'ai été clair mais en tout cas merci de m'avoir répondu
A+
J'ai essayé de mettre en forme conditionnelle mais je ne sais pas pourquoi ça ne fonctionne pas, d'ailleurs j'aurai préférer faire comme ça car la case se mettrai en vert automatiquement tandis qu'avec la macro je suis obligé de la lancer pour avoir ce que je veux.
Pour la mise en forme conditionnel, j'ai procédé de la manière suivante:
selection de la cellule
mise en forme conditionnelle
appliquer la mise en forme uniquement aux cellules qui contiennent ...
valeur de la cellule égale à =E2="OK"
mais ça ne donne rien ( peut être que c'est dû au fait que j'ai déjà 2 conditions existantes sur la cellule à colorer en vert, 1ère condition : si date affiché dans la cellule est inférieur à AUJOURDHUI() alors colorer en rouge
2ème condition : si date affiché dans la cellule est supérieur ou égale à AUJOURDHUI() alors en jaune
donc je pense que ces conditions sont prioritaire et du coup pas de vert en utilisant cette solution.
Donc en fait je suis obligé de passer par une macro pour effacer les conditions existantes et pouvoir colorer ma cellule en vert.
Je sais pas si j'ai été clair mais en tout cas merci de m'avoir répondu
A+
Mike-31
Messages postés
18381
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
28 mars 2025
5 126
31 juil. 2009 à 14:52
31 juil. 2009 à 14:52
Re,
Récupères un exemple avec le lien ci-dessous.
En colonne E, en jaune la plage de saisie la cellule en D sur la même ligne passe au vert si OK
https://www.cjoint.com/?hFoYilyS5W
A+
Mike-31
Un problème sans solution est un problème mal posé (Einstein)
Récupères un exemple avec le lien ci-dessous.
En colonne E, en jaune la plage de saisie la cellule en D sur la même ligne passe au vert si OK
https://www.cjoint.com/?hFoYilyS5W
A+
Mike-31
Un problème sans solution est un problème mal posé (Einstein)
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
ok merci, j'utilisai pas la bonne condition, et en plus j'avais pas vu qu'on pouvait mettre des priorités sur les conditions, donc c'est parfait
merci à toi et à charge de revanche ( même si je sais que c'est pas moi qui vais pouvoir t'aider lol)
Bon week end
A+
merci à toi et à charge de revanche ( même si je sais que c'est pas moi qui vais pouvoir t'aider lol)
Bon week end
A+
Mike-31
Messages postés
18381
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
28 mars 2025
5 126
31 juil. 2009 à 15:19
31 juil. 2009 à 15:19
Re,
Détrompes toi, on à toujours besoin de quelqu’un, dans un domaine ou un autre, peut un jour tu auras la réponse que j'attendrai.
A+
Mike-31
Un problème sans solution est un problème mal posé (Einstein)
Détrompes toi, on à toujours besoin de quelqu’un, dans un domaine ou un autre, peut un jour tu auras la réponse que j'attendrai.
A+
Mike-31
Un problème sans solution est un problème mal posé (Einstein)
31 juil. 2009 à 14:21