Problème de code VBA

Résolu/Fermé
built Messages postés 260 Date d'inscription jeudi 1 novembre 2007 Statut Membre Dernière intervention 13 octobre 2011 - 2 févr. 2008 à 21:41
built Messages postés 260 Date d'inscription jeudi 1 novembre 2007 Statut Membre Dernière intervention 13 octobre 2011 - 24 mai 2008 à 12:03
Bonjour,
    
    Je voudrais qu' un message d'information apparaisse à l'ouverture d'un classeur Excel lorsque l'on clique pour la première fois sur une cellule d'une feuille et non lorsque l'on clique sur un bouton ou une case précise
   Quel code dois-je taper ?
  
    Voici celui de mon message

Sub mess_avert()
   MsgBox "     Le programme de révision qui suit ne doit pas être sortit du contexte des oeuvres" & Chr(10) & "indiquées sur le corrigé !" & Chr(10) & "     Cette liste a été lue et approuvée par un professeur d'anglais de lycée.", vbInformation, "Information d'utilisation"
End Sub
 
 NB: Il faut que le message s'affiche absolument quelque soit la feuille sur laquelle on clique ! De plus il faudrai que le code VBA soit compatible avec excel 97 et + 
   
                Merci pour vos idées !
A voir également:

7 réponses

dandypunk Messages postés 831 Date d'inscription jeudi 3 janvier 2008 Statut Membre Dernière intervention 11 septembre 2011 83
2 févr. 2008 à 22:58
Ces deux fonction doivent être copiées dans ThisWorkbook de l'éditeur VBA (Alt+F11)

Private Sub Workbook_SheetActivate(ByVal sh As Object)
    ' Exécuté à chaque changement de feuille
 MsgBox "     Le programme de révision qui suit ne doit pas être sortit du contexte des oeuvres" & Chr(10) & "indiquées sur le corrigé !" & Chr(10) & "     Cette liste a été lue et approuvée par un professeur d'anglais de lycée.", vbInformation, "Information d'utilisation"
End Sub

Private Sub Workbook_Open()
    ' Exécuté à l'ouverture du classeur
 MsgBox "     Le programme de révision qui suit ne doit pas être sortit du contexte des oeuvres" & Chr(10) & "indiquées sur le corrigé !" & Chr(10) & "     Cette liste a été lue et approuvée par un professeur d'anglais de lycée.", vbInformation, "Information d'utilisation"
End Sub
0
built Messages postés 260 Date d'inscription jeudi 1 novembre 2007 Statut Membre Dernière intervention 13 octobre 2011 45
3 févr. 2008 à 13:40
   merci DandyPunk!

  Pour completer tes propos j'ai lu quelques tutoriels de VBA, le principal problème que j'ai rencontré ais que je tombais à chaque fois sur du Vbasic et non sur des codes utilisables sous office (ici Excel)
  Malgré ces tutoriels je n'arrive pas bien à savoir à quel endroit je doit placer tel ou tel code.
Je m'explique : 
   Quand je place un bouton sur une feuille auquel j'attribu une fonction X (ex : suppr B5:B12) ou dois-je taper ceci ? Dans ThisWorkbook?
dans la feuille concernée? (ex : feuil1) dans ce cas à quoi sert les codes tapé dans "module"? 
  Pour l'instant j'arrive à mes fins car je ne fais pas des codes très élaborés mais je voudrais créer des userform pour mon classeur excel et je n'arrive pas à hiérachiser mes actions (présence de menus déroulant et de cases à cocher dans celle-ci) et à placer les codes dans les bons espaces.

   merci pour tout aide!!
0
dandypunk Messages postés 831 Date d'inscription jeudi 3 janvier 2008 Statut Membre Dernière intervention 11 septembre 2011 83
3 févr. 2008 à 13:50
ThisWorkbook concerne les actions qui concernent tous le classeur. Cela évite
1) de recopier le code dans chaque feuille
2)d'oublier de le recopier si tu ajoute une nouvelle feuille.
Si tu désire créer une nouvelle fonction spécifique à une feuille, il te suffit de créer le code dans cette feuille.

Bon dimanche
0
built Messages postés 260 Date d'inscription jeudi 1 novembre 2007 Statut Membre Dernière intervention 13 octobre 2011 45
3 févr. 2008 à 13:57
Merci beaucoup pour les précisions!

Je vais finir mon userform (du moins la partie graphique) et si j'ai un problème je poste le code.
Petite précisions, les actions définies (par ex : si on click sur un bouton ou une cas de l'userform) quand on les traduit sous forme de codes avec boucles etc.. je dois les mettre dans thisWorkBokk si je veux que cela concerne tout le classeur?
Quelle différence y a t'il en ThisWorkSheet et ThisWorkBook?
Merci encore pour tes réponses

NB: je débute en VBA, hiers (samedi 2 fev) je ne savais même pas me servir du VisualBasic Editor, ni écrire une seul ligne

Bon dimanche à toi aussi et bon courage!
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
dandypunk Messages postés 831 Date d'inscription jeudi 3 janvier 2008 Statut Membre Dernière intervention 11 septembre 2011 83
3 févr. 2008 à 14:11
ThisWorkSheet n'existait pas sous office 2000 (je tourne avec une antiquité.) Toutefois, si dans ta version elle existe, cela se rapporte à la feuille active.
N'oublies pas de marquer le post comme résolu.
0
built Messages postés 260 Date d'inscription jeudi 1 novembre 2007 Statut Membre Dernière intervention 13 octobre 2011 45
3 févr. 2008 à 15:57
OK, merci danypunk pour l'aide!
J'ai moi même le pack office 2000, et effectivement ThisWorkSheet n'apparait pas donc je ne vais pas me compliquer! Une dernière question... (j'ai mi que le post était résolu) :
Que vont devenirs mes macro sous la suite open office car je compte diffuser mon classeur et bon nombres d'amis n'ont pas office!*

merci encore pour ton aide!!
0
dandypunk Messages postés 831 Date d'inscription jeudi 3 janvier 2008 Statut Membre Dernière intervention 11 septembre 2011 83
3 févr. 2008 à 16:23
Sur sur open office la plupart des macros son conservées. Ouvre un autre post du style transfert de macros Excel / Open Office et je donnerai le résultat de mes premières recherches.
0
built Messages postés 260 Date d'inscription jeudi 1 novembre 2007 Statut Membre Dernière intervention 13 octobre 2011 45
24 mai 2008 à 12:03
Merci.
Je marque le problème comme "résolu".
Cordialement, Built.
0