Finaliser une Macro

Résolu
nonossov Messages postés 638 Statut Membre -  
nonossov Messages postés 638 Statut Membre -
Bonjour Mes amis,
a l'aide de votre assistance nous avions réussi à développer cette macro:
https://www.cjoint.com/c/EHijFtV2i0f

merci de m'aider à ajouter ces fonctions:

1/Lorsque je Click sur CTRL+Shift+M il apparaît un box de oui ou non; oui comme une choix par défaut, merci de rendre non comme un choix par défaut,

2/quand je Click sur oui, un X apparaît sur la cellule vide devant l'entreprise nommée sur le box, je vous demande SVP :
de changer la date limite de cette entreprise ex:Audit&analyse au lieu de 08/08/2015 au 08/08/2016,

C-A-D chaque X sur une cellule vide nécessite une changement de la date limite par une année DD/MM/2015 au DD/MM/2016 ou DD/MM/2016 au DD/MM/2017.

Merci pour votre esprit de partage,
merci infiniment,

1 réponse

  1. PlacageGranby Messages postés 402 Statut Membre 26
     
    Bonjour,

    Je trouvais la question intéressante, alors j'ai écrit "VBA MSGBOX DEFAULT" dans google.
    Le premier lien proposé
    http://www.ozgrid.com/forum/showthread.php?t=74985

    Et dans le site :
    MsgBox("Is this what you want?", vbYesNoCancel + vbDefaultButton1)


    Donc, essayer vbDefaultButton
    Comme décrit dans le lien, essaye vbDefaultButton2 3 4 5 selon le besoin

    Pour ce qui est de la deuxième question
    On fait le X avec
    Plage_Recheche(NEnt, NuCol - 1) = "x"

    Donc si on enleve le -1
    Plage_Recheche(NEnt, NuCol ) = "blah blah blah"

    Remplacer blah blah par l'information désirée.

    Comment ajouter une année à une date.
    J'avoue que je ne suis pas top avec les date...
    Retour à google "VBA ajouter une année à une date"
    Je trouve une réponse sur CCM !
    https://forums.commentcamarche.net/forum/affich-4305786-ajout-d-un-nombre-determine-a-une-date
    Et dans la réponse un lien
    https://access.developpez.com/faq/?page=dates#dateAdd

    Voici l'exemple qui ajoute 3 ans
    DateAdd("yyyy", 3, #05/20/2003#)


    Donc il faut bien sur adapter a ton code.
    Essaye ce code pour voir.
    Plage_Recheche(NEnt, NuCol ) = DateAdd("yyyy", 1, Plage_Recheche(NEnt, NuCol ))
    1
    1. nonossov Messages postés 638 Statut Membre
       
      aprés que j'ai fais une modification sur le code, quand le Box apparaît je Click Oui le X dans la cellule vide n'apparaît pas, et la phrase ex: audit & analyse (CAC ou IS ou....) change a audit & analyse ( date limite) merci de m'aider sur ça?
      0
    2. PlacageGranby Messages postés 402 Statut Membre 26
       
      Re-bonjour nonossov

      J'essaye toujours de ne pas donner tout cuit dans le bec la solution.
      Si quelqu'un veut faire du code VBA, il doit devenir relativement autonome sinon il sera perdu si personne ne l'aide sur internet.

      Je regarde ton code, et Plage_Recheche est une variable de type tableau.
      à la position 2-22, la valeur est "x".
      Mais est-ce que tu recopie Plage_Recherche dans la feuille quelque part ?

      Est-ce que un X était écrit avant ? ou c'est seulement quand tu as ajouter des modification que le X n'apparait pas ?.

      Tu vois, pour t'aider je devrais partir DE ZERO et tout analyser.
      Je partais de l'hypothèse que ton code était déjà fonctionnel.
      La premiere modif est seulement esthétique et devrait rien changer à ton code.
      La deuxième modif est seulement l'ajout d'une ligne et ne devrait non plus rien changer.

      Mes suggestions aurait dû donné quelque chose du genre :
      If MsgBox("Did you pay tax for this" & vbCrLf & tx5, vbYesNo+ vbDefaultButton2) = vbYes Then
           Plage_Recheche(NEnt, NuCol - 1) = "x"
           Plage_Recheche(NEnt, NuCol ) = DateAdd("yyyy", 1, Plage_Recheche(NEnt, NuCol ))
      End If


      Donc Plage_Recherche aura le X et la date, mais que fais tu avec Plage_recherche ?
      0
    3. nonossov Messages postés 638 Statut Membre
       
      bonjour, j'ai essayé de faire ca mais malhereusement je n'ai pas réussi a faire apparaitre le X et de changer la phrase qui apparait sur le Box: do you want pay tax for this AUDIT & ANALYSE (''nom de tax'' pas la date limite), merci de tester la macro Mr PlacageGranby SVP!!
      Merci infiniment pour l'effort
      0
    4. PlacageGranby Messages postés 402 Statut Membre 26
       
      Re Bonjour,

      Primo, si on reviens a ton fichier. le X ne semble pas s'affichier dans le fichier que tu a fourni
      Plage_recherche n'est pas recopié dans la feuille.

      Je crois qu'a un moment donné tu avais du code fonctionnel et qu'il n'est plus fonctionnel suite à des modifications.
      La version que tu m'a fourni ne semble pas fonctionnelle.

      Deuxièment : changer la phrase sur le msgbox ? Je croyais que tu voulais seulement modifier le bouton par défaut. Et non pas modifier le texte.

      MsgBox("Did you pay tax for this" & vbCrLf & tx5, vbYesNo+ vbDefaultButton2)
      Le texte affiché est le contenu de vbCrLf et de tx5
      Ou a tu initialisé le contenu de vbCrlF ????
      Et il faudrait valider que tx5 est ok.


      Le code que je t'ai fourni s'occupe simplement du bouton par défaut et de la date.
      Si tu as des problèmes avec le X et le contenu du msgbox, ces problèmes était la dans le fichier original et pour le corriger, il faudrait revoir tout le code du début pour tout comprendre.
      0
    5. nonossov Messages postés 638 Statut Membre
       
      Oui c'est exactement vrai, mais j'ai l'impression que le problème dans mon PC, veuillez essayer cette macro sur votre PC, juste pour vérifier!
      ah je veux changer le colleur de Tableau de résultat, est ce qu'il est possible de faire,??
      0