OVH Cloud OVH Cloud

POURQUOI IL FAIT LA COMMANDE 2 FOIS ??

2 réponses
Avatar
Sylvie LAURENT
Chers tous,

Une fois de plus la Sylvie vient à la pêche..... heureusement que vous êtes
super !!
voici mon code et je ne comprends pas pourquoi il fait 2 fois les commandes
suivantes:
il ouvre 2 x outlook express avec 2 x le même fichier joint, je renseigne
donc le destinataire et ferme la deuxième fenêtre en double après la
commande envoyer !!!! c'est pas terrible mais je ne vois pas ou il double
les commandes ??
Mon code est une privatesub sur la seule feuille du fichier, by the way que
faut t'il ajouter à ma macro pour mettre un texte dans l'email, ce texte
sera figé, et si je met l'email du destinataire en A1 comment automatiser le
A: ,,(Outlook express 6)
Merci d'avance pour votre bonté !!

Je vais finir par passer plus de temps avec vous qu'avec mes collègues !!
good !
bises

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Range("I1") = 123 Then
ChDir "C:\Documents and Settings\Mes documents\STOCKAGE"
Range("I1").Select
Selection.ClearContents
ActiveWorkbook.SaveAs ([J1].Text & [I7].Text & ".xls")
Application.Dialogs(xlDialogSendMail).Show

Else
End If
End Sub

2 réponses

Avatar
FxM
Bonsoir Sylvie,

Je vais finir par passer plus de temps avec vous qu'avec mes collègues !!
Avec des propos de ce genre, il va y avoir des amateurs :o))


Insère un stop et fais dérouler la macro en pas à pas par des pressions
sur la touche F8. Regarde à chaque étape ce qui se passe ... peut-être
que ta macro est appelée 2 fois :o)

@+
FxM


Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Range("I1") = 123 Then

Stop

chem = "C:Documents and SettingsMes documentsSTOCKAGE"
'ne devrait-il pas y avoir le nom d'utilisateur ????

' si tu *dois* sélectionner I1
Range("I1").Select
Selection.ClearContents
'sinon remplace les deux lignes par :
'Range("I1").ClearContents

ActiveWorkbook.SaveAs (chem&[J1].Text & [I7].Text & ".xls")
Application.Dialogs(xlDialogSendMail).Show

Else
'ben else quoi ? Si rien, vire-le !

End If
End Sub

Avatar
G.W.
Bonsoir Sylvie

Range("I1").Select
Selection.ClearContents

la première ligne te provoque un 2ème déclenchement de la procédure
évenementielle alors que I1 est toujours à 123

Pour l'éviter :
Range("I1").ClearContents
et si tu veux resélectionner I1 , mets le
Range("I1").Select
en fin de procédure ( lorsque la valeur n'est plus à 123 )

Guy

"Sylvie LAURENT" a écrit dans le message news:

Chers tous,

Une fois de plus la Sylvie vient à la pêche..... heureusement que vous
êtes

super !!
voici mon code et je ne comprends pas pourquoi il fait 2 fois les
commandes

suivantes:
il ouvre 2 x outlook express avec 2 x le même fichier joint, je renseigne
donc le destinataire et ferme la deuxième fenêtre en double après la
commande envoyer !!!! c'est pas terrible mais je ne vois pas ou il double
les commandes ??
Mon code est une privatesub sur la seule feuille du fichier, by the way
que

faut t'il ajouter à ma macro pour mettre un texte dans l'email, ce texte
sera figé, et si je met l'email du destinataire en A1 comment automatiser
le

A: ,,(Outlook express 6)
Merci d'avance pour votre bonté !!

Je vais finir par passer plus de temps avec vous qu'avec mes collègues !!
good !
bises

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Range("I1") = 123 Then
ChDir "C:Documents and SettingsMes documentsSTOCKAGE"
Range("I1").Select
Selection.ClearContents
ActiveWorkbook.SaveAs ([J1].Text & [I7].Text & ".xls")
Application.Dialogs(xlDialogSendMail).Show

Else
End If
End Sub