If and Else

wilfrid18

XLDnaute Nouveau
Bonjour,
Je me suis déjà adressé à vous aujourdh'ui concernant ce même fichier. La discussion est en attente d'une réponse de ma part. Sauf que je suis à nouveau coincée concernant la suite de ce fichier. Comme tout fonctionnait avant ma modif, je pensais que la suite serait facile.
J'ai dû faire modifier la macro principale d'un classeur. Cette modification était le début d'une grande macro concernant plusieurs feuilles dont les macros doivent démarrer à l'ouverture du workbook. Elle fonctionne parfaitement pour la Feuil2, de la ligne : Private Sub Workbook_Open(), jusqu'à Worksheets("Feuil4").Select,
ce qui suit doit s'appliquer à la Feuil4. C'est là que les difficultés commencent.
C'est le même principe, sauf lors de la sélection de la 1ère plage qui commence en B20, cette plage peut être complètement vide. Dans ce cas je lui demande d'aller dans la cellule G20 (cette partie là fonctionne); s'il n'existe ne serait-ce qu'une cellule remplie, de sélectionner depuis la dernière cellule de la plage jusqu'à la date qui est inférieure ou égale à E2 de la Feuil3, d'étendre la sélection aux 3 colonnes à droite et de mettre en gras ; si toutes les dates de la plage sont supérieures à E2 de la Feuil3, d'aller dans la cellule G20. Bien entendu tout recommence à G20 et L20, etc.. Surtout ne vous préoccupez que de B20, etc, le reste ce sera juste du duplicata.
Ce n'est pas évident à expliquer, n'hésitez pas à me demander de reformuler ma demande, si elle n'est assez claire.
J'espère que vous pourrez m'aider encore sur cette suite.

Merci d'avance
 

Pièces jointes

  • essai1.xlsm
    41.4 KB · Affichages: 46
  • essai1.xlsm
    41.4 KB · Affichages: 50
  • essai1.xlsm
    41.4 KB · Affichages: 50

wilfrid18

XLDnaute Nouveau
Re : If and Else

Bonsoir,

Je te le remets, car effectivement j'ai eu des problèmes. Au beau milieu de mon message il m'a demandé de me réinscrire.Je l'ai refait et finalement, c'est le 1er message qui est passé.
J'espère que tu l'auras cette fois.
Merci
 

Pièces jointes

  • essai1.xlsm
    41.5 KB · Affichages: 38
  • essai1.xlsm
    41.5 KB · Affichages: 38
  • essai1.xlsm
    41.5 KB · Affichages: 38

vgendron

XLDnaute Barbatruc
Re : If and Else

Bonjour,

alors moi quand j'ouvre le fichier, ca plante ici:
ActiveWorkbook.Worksheets("Feuil2").Names.Add Name:="creance1", RefersTo:="=" & Selection.Address
Range("creance1").Select

donc un peu après le select de la feuille 4

apparemment, tu créés la range nommée creance1 dans la feuille 2.. sauf que ce nom est déjà utilisé dans la feuille 1..
sans doute la source du pb..
 

vgendron

XLDnaute Barbatruc
Re : If and Else

Re,
j'ai supprimé toutes les références avant de relancer la macro;
elle plante toujours au meme endroit, mais c'est parce que la feuille active est la feuille 4 alors que tu demandes de sélectionner la range("creance1").select
j'ai donc juste rajouté la ligne Worksheets("Feuil2").Select
et ca déroule jusqu'au bout.
 

wilfrid18

XLDnaute Nouveau
Re : If and Else

Salut,

Cela m'étonne pas qu'il y a une erreur de la sorte. Toi tu l'as vu tout de suite, moi j'y aurais passé des jours sans rien voir et je ne l'ai toujours pas vu; Ne m'en veux pas, mais ce script m'a déjà mangé pas mal d'énergie. Rends encore un service, Peux-tu me renvoyer le fichier où tu l'as corrigé s'il te plaît ?
 

vgendron

XLDnaute Barbatruc
Re : If and Else

pas de souci
par contre. suis pas allé voir ce que faisait ta macro.. donc vérifie quand meme que le rendu final est bien ce que tu veux
 

Pièces jointes

  • essai1.xlsm
    41.4 KB · Affichages: 34
  • essai1.xlsm
    41.4 KB · Affichages: 36
  • essai1.xlsm
    41.4 KB · Affichages: 46

wilfrid18

XLDnaute Nouveau
Re : If and Else

Salut,

Je te remercie d'avoir répondu; Mais il doit sélectionner dans la plage créance1 toutes les dates qui sont égales ou inférieures à la date du jour, (qui elle se trouve dans Feuill3.Range("E2)) et les mettre en gras.
Cette partie là ne fonctionne pas.
Merci pour toute réponse
 

Pièces jointes

  • essai1.xlsm
    42.3 KB · Affichages: 39
  • essai1.xlsm
    42.3 KB · Affichages: 39
  • essai1.xlsm
    42.3 KB · Affichages: 38

vgendron

XLDnaute Barbatruc
Re : If and Else

Re
je viens d'exécuter la macro pas à pas et j'ai une ou deux questions;
ta range créance.. est ce que c'est censé etre dans la feuille 4 la zone contenant des dates dans le tableau ? donc ici dans ton exemple ca devrait etre la range: B23:B26
auquel cas: deux erreurs:
tu ne sélectionnes pas la bonne zone: ce qui est sélectionné c'est B20:B23
et tu ne créés pas la zone "creance1" dans la bonne feuille..elle est créée en feuille 2 et non 4
 

vgendron

XLDnaute Barbatruc
Re : If and Else

regarde la macro du fichier joint
j'y ai rajouté pas mal de commentaires sur ce que fait ta macro (enfin. ce que j'en ai compris)
j'ai modifié pas mal de lignes car il me semble que tu fais beaucoup de sélections inutiles:ex: tu sélectionnes la range complète puis seulement la première et enfin la dernière à droite..

et corrige la ou je me trompe
et il faudrait que tu expliques le cheminement de ce que tu veux faire
 

Pièces jointes

  • essai1.xlsm
    42.8 KB · Affichages: 44
  • essai1.xlsm
    42.8 KB · Affichages: 42
  • essai1.xlsm
    42.8 KB · Affichages: 37

wilfrid18

XLDnaute Nouveau
Re : If and Else

Bonsoir,
Je vois que tu ne m'as pas laissé tomber, tu as continué à travailler, même à cette heure-ci. Merci pour ton aide.
La plage creance1 est dans la Feuil4, c'est la zone des dates exactement, pour cette feuille B20 à B23 (ce nombre de lignes est variable), d'où on ne peut se baser que sur B20.
Tu as raison c'est Feuil4 qu'il faut lui dire, comme cela :
Worksheets("Feuil4").Select
Range("B20").Select
Range("B20", Range("B20").End(xlDown)).Select
Range(ActiveCell, ActiveCell.End(xlDown)).Select
ActiveWorkbook.Worksheets("Feuil4").Names.Add Name:="creance1", RefersTo:="=" & Selection.Address
Merci pour tout
 

wilfrid18

XLDnaute Nouveau
Re : If and Else

Bonsoir,
Tu as fait du bon boulot. Tu as même nettoyé le script, du coup c'est si propre que tu as en même temps résolu ma 1ère discussion de ce matin.
Je suis entrain de le compléter pour les autres conditions. Si les dates sont toutes supérieures à la date du jour (résolue). Je travaille sur la condition si la colonne B est vide, cela signifie pas de date.
Pour ce soir, je vais me coucher. Je verrais cela demain.
Merci pour ce travail qui me tire une sacrée épine du pied.
 

wilfrid18

XLDnaute Nouveau
Re : If and Else

Bonsoir,
Je profite de cette discussion qui est encore ouverte pour demander votre aide toujours pour le même script.
Cette fois-ci c'est la partie workbook open à worsheets (Feuil2) qui ne fonctionne pas.
Il faut que je vous explique ce que je cherche à faire. Nous sommes une association humanitaire qui prend
en charge sans but lucratif les dettes de personnes en difficultés. Je suis chargée de mettre les dossiers sur
ordinateur.On rembourse les dettes des familles et eux nous rembourse par petites mensualités suivant leurs moyens.
Sauf que certains nous rembourse en dehors de la période prévue et c'est le cas ici présent.
La partie qui ne fonctionne pas : Range("in").Select
If Application.CountA(Range("in")) = 0 Then jusqu'à Worksheets("Feuil4").Select
Cette partie doit me chercher la date du dernier paiement qui doit être reportée à la cellule E9
Là il devrait me mettre 22-11-2011, la date est fausse.
J'ai fait mon possible, mais je ne vois pas où est l'erreur
Quelqu'un peut-il m'aider à y voir clair ?
Merci d'avance
 

Pièces jointes

  • essai1.xlsm
    42.6 KB · Affichages: 41
  • essai1.xlsm
    42.6 KB · Affichages: 42
  • essai1.xlsm
    42.6 KB · Affichages: 39

vgendron

XLDnaute Barbatruc
Re : If and Else

Bonsoir

ci joint ton fichier modifié:

ouvre la macro et regarde les commentaires:
apparemment il y a 2 erreurs
lors de la coloration de la cellule k9 en fonction du nombre de cellules vides dans la zone "in"
le dernier test (elseif) ne se faisait pas sur la meme feuille que les précédents: maintenant ca colore en bordeau

pour la mauvaise date: tu sélectionnais par le bas, alors que tu veux la première date dans la zone in
j'ai donc remplacé ton Range("ce").End(xlup).Select par Range("in").End(xlDown).Select
normalement ca devrait etre bon..jusqu'a la prochaine fois ;-)
 

Pièces jointes

  • essai1.xlsm
    43.4 KB · Affichages: 47
  • essai1.xlsm
    43.4 KB · Affichages: 47
  • essai1.xlsm
    43.4 KB · Affichages: 52

wilfrid18

XLDnaute Nouveau
Re : If and Else

Salut Vgendron,

Je vais essayer cela. Tu m'a fait marrer quand tu as écrit jusqu'à la prochaine fois, car effectivement c'est ce qui arrive, personne ne connaît les conditions de ces dossiers ; donc je travaille dans le vide, c'est quand cela ne fonctionne plus que je suis obligée de me repositionner et de retravailler le script. Je te tiens au courant.
 

Discussions similaires

Membres actuellement en ligne

Statistiques des forums

Discussions
312 493
Messages
2 088 956
Membres
103 990
dernier inscrit
lamiadebz