Finaliser une Macro

Résolu/Fermé
nonossov Messages postés 610 Date d'inscription lundi 29 décembre 2014 Statut Membre Dernière intervention 17 janvier 2020 - 15 sept. 2015 à 17:12
nonossov Messages postés 610 Date d'inscription lundi 29 décembre 2014 Statut Membre Dernière intervention 17 janvier 2020 - 21 sept. 2015 à 11:22
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,

A voir également:

1 réponse

PlacageGranby Messages postés 393 Date d'inscription mercredi 26 mars 2014 Statut Membre Dernière intervention 7 mars 2019 26
Modifié par PlacageGranby le 15/09/2015 à 19:18
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
nonossov Messages postés 610 Date d'inscription lundi 29 décembre 2014 Statut Membre Dernière intervention 17 janvier 2020
17 sept. 2015 à 11:32
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
PlacageGranby Messages postés 393 Date d'inscription mercredi 26 mars 2014 Statut Membre Dernière intervention 7 mars 2019 26
17 sept. 2015 à 14:39
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
nonossov Messages postés 610 Date d'inscription lundi 29 décembre 2014 Statut Membre Dernière intervention 17 janvier 2020
Modifié par nonossov le 17/09/2015 à 17:00
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
PlacageGranby Messages postés 393 Date d'inscription mercredi 26 mars 2014 Statut Membre Dernière intervention 7 mars 2019 26
17 sept. 2015 à 17:18
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
nonossov Messages postés 610 Date d'inscription lundi 29 décembre 2014 Statut Membre Dernière intervention 17 janvier 2020
18 sept. 2015 à 10:47
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