Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

demarrer l'execution d'une macro

R

rem$

Guest
bonjour a tous

voila mon pb est de démarrer cette macro ci-dessous lors du changement d'une valeur dans la colonne "P"
seulement j'ai deja une autre macro qui demarre avec un woorsheet_change donc je ne peux pas intituler ma nouvelle de la meme maniere alors je voudrais savoir comment faire en sachant que dans la mesure du possible il ne faut pas de boutton il faudrait un demarrage automatique comme ca c plus simple pour les utilisateurs

d'avance merci

Dim cptr As Byte
Dim papier As Variant
Dim info As Variant


papier = Array(1, 5, 6, 7, 8, 10, 21) 'numéros "papiers"
info = Array(3, 4, 9, 11, 12, 13, 14, 15, 16, 17, 18, 19) 'numéros "informatique"

If ActiveCell = "" Then Exit Sub

If ActiveCell = 2 Or ActiveCell = 19 Then 'nombres interdits
MsgBox "ces N° d'APP n'existent pas"
Exit Sub
End If

cptr = 1
Do While cptr <= 7 ' nombre d'eléments du tableau "papiers"
If ActiveCell = papier(cptr) Then
MsgBox "cet APP n'est pas sur labguard vérifier, valider et conserver la courbe papier"
Exit Sub
End If
cptr = cptr + 1
Loop

cptr = 1
Do While cptr <= 12
If ActiveCell = info(cptr) Then
MsgBox "cet APP est connecté sur le labguard mettre la courbe au format informatique"
Exit Sub
End If
cptr = cptr + 1
Loop
MsgBox " valeurs non classée"


End Sub
 
E

EricS

Guest
bonjour,

soit en début de macro dan sle workbook tu mets des conditions pour savoir quelle feuille est active par exemple et quelle action tu dois faire

ou soit tu écris tes macros dans les feuilles et non au niveau workbook, cela n'est possible que si tu n'as pas de macro utilisée quelle que soit la feuille

A+
Eric
 
B

Ben

Guest
Bonjour,
Si j'ai bien saisi ta question, il suffit de faire de ta macro une procédure "Sub" que tu appelles dans la macro worksheet_change. Cela donne qquchose comme

sub worksheet_change ()
....
ma_fonction
....
end sub


sub ma_fonction()
...
mettre ici ton code
...
end sub

A+
Ben
 
E

EricS

Guest
RE

en te basant sur l'exemple ci-dessous, en début de ta macro woorsheet_change:

If ActiveSheet.Name = Sheets(2).Name Then MsgBox "OK": call .... :exit sub
If ActiveSheet.Name = Sheets(3).Name Then MsgBox "OK": call .... :exit sub

j'espère que cela t'aidera

A+
 
R

rem$

Guest
bonjour a tous, erics, ben

merci de vos reponses j'ai essayé la maniere de Ben mais ca ne marche pas non plus quand a celle d'EricS dslé mais suis novice alors j'ai pas otut saisie...........

donc j'en suis toujours au meme point donc voici mon fichier regarder ce que vous pouvez faire pour moi......

En plus j'ai le meme pb avec la validation des dates car il faudrait que la macro de vérification des dates s'exécutent lors de la validation de la date de la colonne AT

d'avance merci

Rem$
 

Pièces jointes

  • milieu_test_copie.zip
    26.9 KB · Affichages: 26

Discussions similaires

Réponses
4
Affichages
419
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…