Macro et couleurs de MFC
Résolu/Fermé
tibouuh
Messages postés
2686
Date d'inscription
lundi 30 juin 2008
Statut
Contributeur
Dernière intervention
9 février 2017
-
13 mai 2010 à 17:32
eriiic Messages postés 24569 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 28 décembre 2023 - 16 mai 2010 à 19:24
eriiic Messages postés 24569 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 28 décembre 2023 - 16 mai 2010 à 19:24
A voir également:
- Macro et couleurs de MFC
- Macro word - Guide
- Macro logiciel - Télécharger - Organisation
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Macro recorder - Télécharger - Confidentialité
- La boite à couleurs - Télécharger - Divers Photo & Graphisme
12 réponses
Le Pingou
Messages postés
12035
Date d'inscription
mercredi 11 août 2004
Statut
Contributeur
Dernière intervention
1 avril 2024
1 425
13 mai 2010 à 21:44
13 mai 2010 à 21:44
Bonjour,
Que fait-on si les 3 cellules A2 sont coloriées ?
Que fait-on si les 3 cellules A2 sont coloriées ?
tibouuh
Messages postés
2686
Date d'inscription
lundi 30 juin 2008
Statut
Contributeur
Dernière intervention
9 février 2017
647
13 mai 2010 à 22:40
13 mai 2010 à 22:40
Salut,
comme ce sont des si, si la première condition est remplie, ça désactive les suivantes.
on regarde d'abord pour la feuille, si oui alors on active, sinon on regarde la feuille 2 et ainsi de suite.
comme ce sont des si, si la première condition est remplie, ça désactive les suivantes.
on regarde d'abord pour la feuille, si oui alors on active, sinon on regarde la feuille 2 et ainsi de suite.
Le Pingou
Messages postés
12035
Date d'inscription
mercredi 11 août 2004
Statut
Contributeur
Dernière intervention
1 avril 2024
1 425
13 mai 2010 à 23:01
13 mai 2010 à 23:01
Bonjour,
Oui d'accord avec les SI , mais le [si] de MFC de la feuille 1 n'a pas d'influence sur la MFC des autres, donc les cellules A2 peuvent être toutes colorées !
Oui d'accord avec les SI , mais le [si] de MFC de la feuille 1 n'a pas d'influence sur la MFC des autres, donc les cellules A2 peuvent être toutes colorées !
tibouuh
Messages postés
2686
Date d'inscription
lundi 30 juin 2008
Statut
Contributeur
Dernière intervention
9 février 2017
647
13 mai 2010 à 23:08
13 mai 2010 à 23:08
les MFC entre feuilles sont indépendantes oui.
elles sont tout le temps de la même forme et les 3 MFC par feuille sont identiques.
du genre, si la différence entre aujourd'hui et une date est compris entre 15 et 30 jours alors la MFC colorie en orange. etc...
elles sont tout le temps de la même forme et les 3 MFC par feuille sont identiques.
du genre, si la différence entre aujourd'hui et une date est compris entre 15 et 30 jours alors la MFC colorie en orange. etc...
Le Pingou
Messages postés
12035
Date d'inscription
mercredi 11 août 2004
Statut
Contributeur
Dernière intervention
1 avril 2024
1 425
Modifié par Le Pingou le 13/05/2010 à 23:49
Modifié par Le Pingou le 13/05/2010 à 23:49
Bonjour,
Je reviens encore une fois, les cellules [A2] des feuilles 1, 2 et 3 peuvent être colorées, dans ce cas qu'elle est la feuille à activer dès l'ouverture.
C'est votre problème, la procédure à mettre dans [ThisWorkbook], active la feuille dont A2= rouge.
Salutations.
Le Pingou
Je reviens encore une fois, les cellules [A2] des feuilles 1, 2 et 3 peuvent être colorées, dans ce cas qu'elle est la feuille à activer dès l'ouverture.
C'est votre problème, la procédure à mettre dans [ThisWorkbook], active la feuille dont A2= rouge.
Private Sub Workbook_Open() Dim sh As Worksheet For Each sh In Worksheets If sh.Range("A2").Interior.Color = 255 Then sh.Activate Exit Sub End If Next sh End Sub
Salutations.
Le Pingou
tibouuh
Messages postés
2686
Date d'inscription
lundi 30 juin 2008
Statut
Contributeur
Dernière intervention
9 février 2017
647
14 mai 2010 à 10:39
14 mai 2010 à 10:39
Salut,
avec les si justement je définis un ordre.
d'abord regarder pour la feuille 1, puis la feuille 2 et enfin la feuille 3.
et si aucune des feuilles n'a la cellule A2 coloriées, alors on active la feuille 1.
avec les si justement je définis un ordre.
d'abord regarder pour la feuille 1, puis la feuille 2 et enfin la feuille 3.
et si aucune des feuilles n'a la cellule A2 coloriées, alors on active la feuille 1.
tibouuh
Messages postés
2686
Date d'inscription
lundi 30 juin 2008
Statut
Contributeur
Dernière intervention
9 février 2017
647
14 mai 2010 à 11:01
14 mai 2010 à 11:01
re,
je viens d'essayer le code que tu as mis, mais ça ne marche pas.
comme je l'avais mis dans le message 1, sans les MFC, les cellules sont toutes non remplies, blanches.
donc forcément, il ne trouve aucune cellule et active la dernière feuille. alors qu'en fait, il y a des cellules colorées.
il faudrait arriver à prendre en compte les couleurs données par les MFC.
je viens d'essayer le code que tu as mis, mais ça ne marche pas.
comme je l'avais mis dans le message 1, sans les MFC, les cellules sont toutes non remplies, blanches.
donc forcément, il ne trouve aucune cellule et active la dernière feuille. alors qu'en fait, il y a des cellules colorées.
il faudrait arriver à prendre en compte les couleurs données par les MFC.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Le Pingou
Messages postés
12035
Date d'inscription
mercredi 11 août 2004
Statut
Contributeur
Dernière intervention
1 avril 2024
1 425
Modifié par Le Pingou le 14/05/2010 à 15:42
Modifié par Le Pingou le 14/05/2010 à 15:42
Bonjour,
Ceci : comme je l'avais mis dans le message 1
et la suite :
si la cellule A2 de la feuille 1 est coloriée par une MFC alors activer la feuille 1
sinon si la cellule A2 de la feuille 2 est coloriée par une MFC alors activer la feuille 2
sinon si la cellule A2 de la feuille 3 est coloriée par une MFC alors activer la feuille 3
De ce fait, la procédure proposée se base sur la cellule A2 de chaque feuille et en plus comme vous ne mentionnez aucune couleur de fond, j'ai par défaut pris le rouge.
Ma procédure marche très bien, je l'ai testé, bien entendu avec la couleur rouge(code=255).
Salutations.
Le Pingou
Ceci : comme je l'avais mis dans le message 1
et la suite :
si la cellule A2 de la feuille 1 est coloriée par une MFC alors activer la feuille 1
sinon si la cellule A2 de la feuille 2 est coloriée par une MFC alors activer la feuille 2
sinon si la cellule A2 de la feuille 3 est coloriée par une MFC alors activer la feuille 3
De ce fait, la procédure proposée se base sur la cellule A2 de chaque feuille et en plus comme vous ne mentionnez aucune couleur de fond, j'ai par défaut pris le rouge.
Ma procédure marche très bien, je l'ai testé, bien entendu avec la couleur rouge(code=255).
Salutations.
Le Pingou
tibouuh
Messages postés
2686
Date d'inscription
lundi 30 juin 2008
Statut
Contributeur
Dernière intervention
9 février 2017
647
Modifié par tibouuh le 14/05/2010 à 17:27
Modifié par tibouuh le 14/05/2010 à 17:27
re,
je t'assure je l'ai testé et elle marche pas, en tout cas sur mon classeur.
toutes les cellules sont vides pour le remplissage.
les MFC colorent soit en rouge, soit en jaune, soit en vert.
pour le moment, en feuille 1, A2 est en rouge et A3 en vert.
en feuille 2, A2 est en jaune.
en feuille 3, A2 reste non colorié.
avec le prog, Excel s'ouvre sur la feuille 3, alors que normalement elle aurait dû s'ouvrir sur le feuille 1, comme A2 est en rouge imposé par la MFC!
il n'y a pas une "feinte" avec les couleurs imposées par les MFC et les couleurs de remplissage qu'on peut donner sans MFC? je pense vraiment que ça vient de là le problème.
tu dis que ça a marché chez toi, mais tu as essayé en définissant toi-même une couleur de remplissage ou par le biais d'une MFC?
je t'assure je l'ai testé et elle marche pas, en tout cas sur mon classeur.
toutes les cellules sont vides pour le remplissage.
les MFC colorent soit en rouge, soit en jaune, soit en vert.
pour le moment, en feuille 1, A2 est en rouge et A3 en vert.
en feuille 2, A2 est en jaune.
en feuille 3, A2 reste non colorié.
avec le prog, Excel s'ouvre sur la feuille 3, alors que normalement elle aurait dû s'ouvrir sur le feuille 1, comme A2 est en rouge imposé par la MFC!
il n'y a pas une "feinte" avec les couleurs imposées par les MFC et les couleurs de remplissage qu'on peut donner sans MFC? je pense vraiment que ça vient de là le problème.
tu dis que ça a marché chez toi, mais tu as essayé en définissant toi-même une couleur de remplissage ou par le biais d'une MFC?
Le Pingou
Messages postés
12035
Date d'inscription
mercredi 11 août 2004
Statut
Contributeur
Dernière intervention
1 avril 2024
1 425
Modifié par Le Pingou le 14/05/2010 à 17:44
Modifié par Le Pingou le 14/05/2010 à 17:44
Bonjour,
Au minimum il faudrait quand même contrôler qu'elle est le code de votre couleur et remplacer le mien (255) par le votre.
Au passage, pour ouvrir la feuille 1 si pas de rouge, vous ajoutez la ligne ci-après( entre [Next sh] et [End Sub] )
Sheets("Feuil1").Activate
Salutations.
Le Pingou
Au minimum il faudrait quand même contrôler qu'elle est le code de votre couleur et remplacer le mien (255) par le votre.
Au passage, pour ouvrir la feuille 1 si pas de rouge, vous ajoutez la ligne ci-après( entre [Next sh] et [End Sub] )
Sheets("Feuil1").Activate
Salutations.
Le Pingou
tibouuh
Messages postés
2686
Date d'inscription
lundi 30 juin 2008
Statut
Contributeur
Dernière intervention
9 février 2017
647
14 mai 2010 à 17:36
14 mai 2010 à 17:36
j'ai vérifié ça et c'est bien 255, rouge pur.
j'avais même essayé de remplacer le chiffre par vbred.
j'avais même essayé de remplacer le chiffre par vbred.
Le Pingou
Messages postés
12035
Date d'inscription
mercredi 11 août 2004
Statut
Contributeur
Dernière intervention
1 avril 2024
1 425
14 mai 2010 à 17:54
14 mai 2010 à 17:54
Bonjour,
Il y a certainement une erreur chez vous,
la procédure est-elle dans [ThisWorkbook] .... oui/non
Est-ce bien la cellule [A2] de chaque feuille qui à la couleur de fond ...oui/non
C'est aussi possible de mettre une copie du classeur sur https://www.cjoint.com/
Il y a certainement une erreur chez vous,
la procédure est-elle dans [ThisWorkbook] .... oui/non
Est-ce bien la cellule [A2] de chaque feuille qui à la couleur de fond ...oui/non
C'est aussi possible de mettre une copie du classeur sur https://www.cjoint.com/
tibouuh
Messages postés
2686
Date d'inscription
lundi 30 juin 2008
Statut
Contributeur
Dernière intervention
9 février 2017
647
14 mai 2010 à 17:59
14 mai 2010 à 17:59
http://www.cijoint.fr/cjlink.php?file=cj201005/cijtEzX9Pe.xls
j'ai mis un classeur simple. normalement il devrait s'ouvrir sur la feuille 2 qui est la seule à avoir la cellule A2 en rouge. je n'ai même pas utilisé de MFC.
et ben ça ne marche pas quand même! je comprends pas. j'ai loupé quelque chose?!
j'ai mis un classeur simple. normalement il devrait s'ouvrir sur la feuille 2 qui est la seule à avoir la cellule A2 en rouge. je n'ai même pas utilisé de MFC.
et ben ça ne marche pas quand même! je comprends pas. j'ai loupé quelque chose?!
tibouuh
Messages postés
2686
Date d'inscription
lundi 30 juin 2008
Statut
Contributeur
Dernière intervention
9 février 2017
647
14 mai 2010 à 18:01
14 mai 2010 à 18:01
dans mon vrai classeur, la procédure est bien dans [ThisWorkbook].
c'est bien à partir de la ligne 2 qu'il peut y avoir des couleurs. j'ai simplifié en disant A2, pas besoin de vérifier sur plusieurs cellules d'une même ligne.
c'est bien à partir de la ligne 2 qu'il peut y avoir des couleurs. j'ai simplifié en disant A2, pas besoin de vérifier sur plusieurs cellules d'une même ligne.
Le Pingou
Messages postés
12035
Date d'inscription
mercredi 11 août 2004
Statut
Contributeur
Dernière intervention
1 avril 2024
1 425
14 mai 2010 à 18:21
14 mai 2010 à 18:21
Bonjour,
J'ai juste remplacé le code [vbred] (n'est pas valable) par 255, plus l'instruction pour ouvrir sur feuille 1 si pas de rouge.
Cela fonctionne correctement à l'ouverture : https://www.cjoint.com/?fosu6jxBYW
J'ai juste remplacé le code [vbred] (n'est pas valable) par 255, plus l'instruction pour ouvrir sur feuille 1 si pas de rouge.
Cela fonctionne correctement à l'ouverture : https://www.cjoint.com/?fosu6jxBYW
tibouuh
Messages postés
2686
Date d'inscription
lundi 30 juin 2008
Statut
Contributeur
Dernière intervention
9 février 2017
647
14 mai 2010 à 18:24
14 mai 2010 à 18:24
on est d'accord qu'avec le fichier que tu as mis, ça devrait s'ouvrir sur le feuille3?
tibouuh
Messages postés
2686
Date d'inscription
lundi 30 juin 2008
Statut
Contributeur
Dernière intervention
9 février 2017
647
14 mai 2010 à 18:42
14 mai 2010 à 18:42
ça ne fonctionne pas chez moi. et chez toi?
en fait, elle s'ouvre sur la même feuille que lors du précédent enregistrement.
en fait, elle s'ouvre sur la même feuille que lors du précédent enregistrement.
Le Pingou
Messages postés
12035
Date d'inscription
mercredi 11 août 2004
Statut
Contributeur
Dernière intervention
1 avril 2024
1 425
14 mai 2010 à 22:49
14 mai 2010 à 22:49
Bonjour,
Oui à l'ouverture sur la feuille 3.
Je suppose que vous avez activé les macros suite à l'avertissement de sécurité, sinon rien ne fonctionne ?
Oui à l'ouverture sur la feuille 3.
Je suppose que vous avez activé les macros suite à l'avertissement de sécurité, sinon rien ne fonctionne ?
eriiic
Messages postés
24569
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
28 décembre 2023
7 209
14 mai 2010 à 23:09
14 mai 2010 à 23:09
Bonsoir tout le monde,
Attention, une couleur de MFC ne se détecte pas avec .interior.colorindex, c'est beaucoup plus complexe que ça.
Il est plus simple d'utiliser la formule de la MFC pour contrôler le résultat du test, sinon lermite s'était 'amusé' (courageux...) à créer une fonction personnalisée qui récupère la couleur d'une MFC : voir ici.
Bon courage
eric
Attention, une couleur de MFC ne se détecte pas avec .interior.colorindex, c'est beaucoup plus complexe que ça.
Il est plus simple d'utiliser la formule de la MFC pour contrôler le résultat du test, sinon lermite s'était 'amusé' (courageux...) à créer une fonction personnalisée qui récupère la couleur d'une MFC : voir ici.
Bon courage
eric
tibouuh
Messages postés
2686
Date d'inscription
lundi 30 juin 2008
Statut
Contributeur
Dernière intervention
9 février 2017
647
Modifié par tibouuh le 15/05/2010 à 11:49
Modifié par tibouuh le 15/05/2010 à 11:49
Salut Le Pingou,
j'avais pas eu d'avertissement de sécurité mais j'ai signé le fichier. ça marche avec ton fichier mais toujours pas avec le mien!
j'avais pas eu d'avertissement de sécurité mais j'ai signé le fichier. ça marche avec ton fichier mais toujours pas avec le mien!
tibouuh
Messages postés
2686
Date d'inscription
lundi 30 juin 2008
Statut
Contributeur
Dernière intervention
9 février 2017
647
15 mai 2010 à 11:52
15 mai 2010 à 11:52
Salut eriiic,
je vais regarder cette macro.
je pensais que ça allait être facile et rapide de faire ça avec les couleurs imposées par les MFC, c'est pour ça que j'étais parti là-dessus.
je vais essayer avec les formules je crois. je vais voir si j'y arrive.
je vais regarder cette macro.
je pensais que ça allait être facile et rapide de faire ça avec les couleurs imposées par les MFC, c'est pour ça que j'étais parti là-dessus.
je vais essayer avec les formules je crois. je vais voir si j'y arrive.
Le Pingou
Messages postés
12035
Date d'inscription
mercredi 11 août 2004
Statut
Contributeur
Dernière intervention
1 avril 2024
1 425
15 mai 2010 à 16:23
15 mai 2010 à 16:23
Bonjour eriiic,
Merci infiniment pour cette mise en garde, j'avais complètement oublié la différence de traitement avec les couleurs en MFC.
Tibouuh, merci pour l'information, je ne serai d'aucun secour avant lundi probablement.
Bon week-end.
Salutations.
Le Pingou
Merci infiniment pour cette mise en garde, j'avais complètement oublié la différence de traitement avec les couleurs en MFC.
Tibouuh, merci pour l'information, je ne serai d'aucun secour avant lundi probablement.
Bon week-end.
Salutations.
Le Pingou
tibouuh
Messages postés
2686
Date d'inscription
lundi 30 juin 2008
Statut
Contributeur
Dernière intervention
9 février 2017
647
15 mai 2010 à 13:51
15 mai 2010 à 13:51
Re,
j'aurais besoin d'aide pour faire la macro avec les formules parce que là non plus j'y arrive pas!
voilà ce que j'ai mis :
Dim sh As Worksheet
For Each sh In Worksheets
If (D2 - Date) = 0 Then
sh.Activate
End If
Next sh
For Each sh In Worksheets
If (D2 - Date) >= 1 And (D2 - Date) < 10 Then
sh.Activate
End If
Next sh
For Each sh In Worksheets
If (D2 - Date) >= 10 And (D2 - Date) <= 15 Then
sh.Activate
End If
Next sh
Sheets("Feuil1").Activate
pour expliquer cette macro.
il faut regarder sur toutes les feuilles si D2-aujourdhui()=0 (MFC rouge)
la première qui est trouvée avec cette condition, doit être activée.
ensuite il faut regarder sur toutes les feuilles si et(D2-aujourdhui()>=1;D2-aujourdhui()<10) (MFC jaune)
la première qui est trouvée avec cette condition, doit être activée.
enfin il faut regarder sur toutes les feuilles si et(D2-aujourdhui()>=10;D2-aujourdhui()<=15) (MFC verte)
la première qui est trouvée avec cette condition, doit être activée.
sinon, activer la feuille 1.
j'espère que la macro retranscrit effectivement ce que je souhaite faire.
mais là encore problème car avec ce que j'ai, le classeur devrait s'ouvrir sur la feuille 2 puisque qu'il y a du jaune en ligne 2.
merci pour votre aide.
j'aurais besoin d'aide pour faire la macro avec les formules parce que là non plus j'y arrive pas!
voilà ce que j'ai mis :
Dim sh As Worksheet
For Each sh In Worksheets
If (D2 - Date) = 0 Then
sh.Activate
End If
Next sh
For Each sh In Worksheets
If (D2 - Date) >= 1 And (D2 - Date) < 10 Then
sh.Activate
End If
Next sh
For Each sh In Worksheets
If (D2 - Date) >= 10 And (D2 - Date) <= 15 Then
sh.Activate
End If
Next sh
Sheets("Feuil1").Activate
pour expliquer cette macro.
il faut regarder sur toutes les feuilles si D2-aujourdhui()=0 (MFC rouge)
la première qui est trouvée avec cette condition, doit être activée.
ensuite il faut regarder sur toutes les feuilles si et(D2-aujourdhui()>=1;D2-aujourdhui()<10) (MFC jaune)
la première qui est trouvée avec cette condition, doit être activée.
enfin il faut regarder sur toutes les feuilles si et(D2-aujourdhui()>=10;D2-aujourdhui()<=15) (MFC verte)
la première qui est trouvée avec cette condition, doit être activée.
sinon, activer la feuille 1.
j'espère que la macro retranscrit effectivement ce que je souhaite faire.
mais là encore problème car avec ce que j'ai, le classeur devrait s'ouvrir sur la feuille 2 puisque qu'il y a du jaune en ligne 2.
merci pour votre aide.
eriiic
Messages postés
24569
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
28 décembre 2023
7 209
15 mai 2010 à 14:02
15 mai 2010 à 14:02
Pas le temps de regarder dans le détail mais déjà :
- remplace D2 par sh.[D2]
- inverse tes tests pour finir par le plus important, ou bien positionne un flag pour ne pas réaliser les suivants si la condition est réalisée.
- ajoute application.screenupdating=false au début pour éviter le clignotement des pages (remettre à true à la fin)
eric
- remplace D2 par sh.[D2]
- inverse tes tests pour finir par le plus important, ou bien positionne un flag pour ne pas réaliser les suivants si la condition est réalisée.
- ajoute application.screenupdating=false au début pour éviter le clignotement des pages (remettre à true à la fin)
eric
tibouuh
Messages postés
2686
Date d'inscription
lundi 30 juin 2008
Statut
Contributeur
Dernière intervention
9 février 2017
647
15 mai 2010 à 15:26
15 mai 2010 à 15:26
application.screenupdating=false je l'avais déjà mis car en fait je n'ai pas que ce prog qui tourne avec ce classeur.
- inverse tes tests pour finir par le plus important, ou bien positionne un flag pour ne pas réaliser les suivants si la condition est réalisée.
je viens de m'en apercevoir en regardant pas à pas l'exécution de la macro.
comment on fait pour ajouter un flag?
j'aimerais qu'il y ait un ordre de priorité parmi les feuilles. je pensais qu'il était pris en compte avec le prog mais non!
donc dans l'ordre, il faudrait :
- regarder les conditions (rouge, puis jaune, puis vert) et arrêter ce test dès qu'il en trouve une
- puis regarder les feuilles (feuille 1, puis 2, puis 3) et arrêter ce test dès qu'il en trouve une
ou encore pour être plus clair, l'ordre de priorité :
1R, 2R, 3R, 1J, 2J, 3J, 1V, 2V, 3V
et si rien de tout ça, activer la feuille 1.
- inverse tes tests pour finir par le plus important, ou bien positionne un flag pour ne pas réaliser les suivants si la condition est réalisée.
je viens de m'en apercevoir en regardant pas à pas l'exécution de la macro.
comment on fait pour ajouter un flag?
j'aimerais qu'il y ait un ordre de priorité parmi les feuilles. je pensais qu'il était pris en compte avec le prog mais non!
donc dans l'ordre, il faudrait :
- regarder les conditions (rouge, puis jaune, puis vert) et arrêter ce test dès qu'il en trouve une
- puis regarder les feuilles (feuille 1, puis 2, puis 3) et arrêter ce test dès qu'il en trouve une
ou encore pour être plus clair, l'ordre de priorité :
1R, 2R, 3R, 1J, 2J, 3J, 1V, 2V, 3V
et si rien de tout ça, activer la feuille 1.
eriiic
Messages postés
24569
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
28 décembre 2023
7 209
15 mai 2010 à 16:03
15 mai 2010 à 16:03
Sans tester et en gardant la structure de ton exemple ça devrait plus s'approcher de ça :
eric
Sub test() Dim sh As Worksheet, ok As Boolean Sheets("Feuil1").Activate For Each sh In Worksheets If (sh.[D2] - Date) = 0 Then sh.Activate ok = True Exit For End If Next sh If Not ok Then For Each sh In Worksheets If (sh.[D2] - Date) < 10 Then sh.Activate ok = True Exit For End If Next sh End If If Not ok Then For Each sh In Worksheets If (sh.[D2] - Date) <= 15 Then sh.Activate Exit For End If Next sh End If End Sub
eric
tibouuh
Messages postés
2686
Date d'inscription
lundi 30 juin 2008
Statut
Contributeur
Dernière intervention
9 février 2017
647
15 mai 2010 à 18:35
15 mai 2010 à 18:35
yes, j'ai l'impression que ça fonctionne correctement! ^^
merci à tous les 2 ;-)
eric, petite précision, est-ce qu'en mettant seulement D2 au lieu de sh.[D2] ça marche quand même? je ne vois pas bien le problème éventuel que ça peut générer sans sh?!
merci à tous les 2 ;-)
eric, petite précision, est-ce qu'en mettant seulement D2 au lieu de sh.[D2] ça marche quand même? je ne vois pas bien le problème éventuel que ça peut générer sans sh?!
Le Pingou
Messages postés
12035
Date d'inscription
mercredi 11 août 2004
Statut
Contributeur
Dernière intervention
1 avril 2024
1 425
Modifié par Le Pingou le 15/05/2010 à 21:11
Modifié par Le Pingou le 15/05/2010 à 21:11
Bonjour,
Content que cela marche avec la proposition d'eriiic.
Si j'ose me permettre, le [sh] représente l'élément en cour (ici, la feuille 1 au premier passage ensuite la 2 etc.) et le D2 est la cellule.
En écrivant [D2] c'est comme Range("D2").
Pour avoir la valeur de D2 de la feuille correpondante, il faut donc sh.range("D2") ou comme l'écriture d'eriiic sh.[D2].
Salutations.
Le Pingou
Content que cela marche avec la proposition d'eriiic.
Si j'ose me permettre, le [sh] représente l'élément en cour (ici, la feuille 1 au premier passage ensuite la 2 etc.) et le D2 est la cellule.
En écrivant [D2] c'est comme Range("D2").
Pour avoir la valeur de D2 de la feuille correpondante, il faut donc sh.range("D2") ou comme l'écriture d'eriiic sh.[D2].
Salutations.
Le Pingou
tibouuh
Messages postés
2686
Date d'inscription
lundi 30 juin 2008
Statut
Contributeur
Dernière intervention
9 février 2017
647
15 mai 2010 à 22:10
15 mai 2010 à 22:10
et il faut le préciser à Excel? il ne comprend pas si on met simplement D2?
parce que la cellule D2 appartient forcément à une feuille!
c'est pas comme si on lui demandait de regarder la cellule D2 de la feuille 1 alors que c'est la feuille 2 qui est active.
parce que la cellule D2 appartient forcément à une feuille!
c'est pas comme si on lui demandait de regarder la cellule D2 de la feuille 1 alors que c'est la feuille 2 qui est active.
eriiic
Messages postés
24569
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
28 décembre 2023
7 209
15 mai 2010 à 22:19
15 mai 2010 à 22:19
Si tu as des doutes le mieux est de tester, c'est comme ça qu'on apprend...
D2 ne marche pas, c'est range("D2") ou [D2] la syntaxe.
D2 tout court serait une variable.
Et dans 'For Each sh In Worksheets' tu n'actives pas les feuilles, il faut donc lui spécifier avec sh. sur quelle feuille travailler , comme te l'as expliqué le pingou.
Si tu ne le mets pas ça sera [D2] de la feuille active.
eric
D2 ne marche pas, c'est range("D2") ou [D2] la syntaxe.
D2 tout court serait une variable.
Et dans 'For Each sh In Worksheets' tu n'actives pas les feuilles, il faut donc lui spécifier avec sh. sur quelle feuille travailler , comme te l'as expliqué le pingou.
Si tu ne le mets pas ça sera [D2] de la feuille active.
eric
tibouuh
Messages postés
2686
Date d'inscription
lundi 30 juin 2008
Statut
Contributeur
Dernière intervention
9 février 2017
647
16 mai 2010 à 16:50
16 mai 2010 à 16:50
Salut,
pour D2, c'est vrai, je suis bête, j'avais oublié le range. j'étais trop sur la formule du tableur.
et je pensais qu'avec For, ça activait en même temps la feuille pendant la boucle.
par contre je connaissais pas encore la syntaxe [D2] pour dire range("D2"). c'est plus court!
merci encore à tous les 2.
bonne fin de week-end ;-)
pour D2, c'est vrai, je suis bête, j'avais oublié le range. j'étais trop sur la formule du tableur.
et je pensais qu'avec For, ça activait en même temps la feuille pendant la boucle.
par contre je connaissais pas encore la syntaxe [D2] pour dire range("D2"). c'est plus court!
merci encore à tous les 2.
bonne fin de week-end ;-)