Pop up Excel quand cellule remplie
Résolu/Fermé
tony020422
Messages postés
445
Date d'inscription
mercredi 7 mai 2008
Statut
Membre
Dernière intervention
19 janvier 2010
-
28 mai 2009 à 08:32
tony020422 Messages postés 445 Date d'inscription mercredi 7 mai 2008 Statut Membre Dernière intervention 19 janvier 2010 - 5 juin 2009 à 09:45
tony020422 Messages postés 445 Date d'inscription mercredi 7 mai 2008 Statut Membre Dernière intervention 19 janvier 2010 - 5 juin 2009 à 09:45
A voir également:
- Pop up Excel quand cellule remplie
- Liste déroulante excel - Guide
- Aller à la ligne dans une cellule excel - Guide
- Verrouiller cellule excel - Guide
- Excel cellule couleur si condition texte - Guide
- Formule excel - Guide
44 réponses
NicoDisso
Messages postés
230
Date d'inscription
mardi 26 mai 2009
Statut
Membre
Dernière intervention
22 août 2009
32
28 mai 2009 à 12:33
28 mai 2009 à 12:33
pour faire un msgbox, la syntaxe est
msgbox libelle du message , bouton, titre du message
Ex :
msgbox "ceci est un message de test !",vbinformation,"Message de Test"
Ensuite, il te suffit de mettre dans le code de ta feuille, les criteres qui vont bien, et de mettre des variables afin que ton message soit different selon les cas...
msgbox libelle du message , bouton, titre du message
Ex :
msgbox "ceci est un message de test !",vbinformation,"Message de Test"
Ensuite, il te suffit de mettre dans le code de ta feuille, les criteres qui vont bien, et de mettre des variables afin que ton message soit different selon les cas...
tony020422
Messages postés
445
Date d'inscription
mercredi 7 mai 2008
Statut
Membre
Dernière intervention
19 janvier 2010
6
28 mai 2009 à 14:11
28 mai 2009 à 14:11
ok super merci bcp nicodisso, ca marche nikel!!
par contre, saurais tu comment faire ca? car je bloque completement........
J'ai crée un formmulaire excel avec cases à cocher...et j'aimerais créer un bouton "envoyé" en bas du formulaire qui, lorqu'on clik desssus, envoi directement le formulaire vers une unique adresse mail (tjs la même)
il faut donc qu'au moment de l'envoi, le formulaire se sauvegarde et qu'Excel se ferme...
Je ne sais pas quel code VBA taper malgré mais nombreuses recherches internet......
Merci, et Bonne journée !!
par contre, saurais tu comment faire ca? car je bloque completement........
J'ai crée un formmulaire excel avec cases à cocher...et j'aimerais créer un bouton "envoyé" en bas du formulaire qui, lorqu'on clik desssus, envoi directement le formulaire vers une unique adresse mail (tjs la même)
il faut donc qu'au moment de l'envoi, le formulaire se sauvegarde et qu'Excel se ferme...
Je ne sais pas quel code VBA taper malgré mais nombreuses recherches internet......
Merci, et Bonne journée !!
NicoDisso
Messages postés
230
Date d'inscription
mardi 26 mai 2009
Statut
Membre
Dernière intervention
22 août 2009
32
28 mai 2009 à 18:17
28 mai 2009 à 18:17
Sois tu fais cela et normalement ton logiciel de messagerie te demanderas si tu autorises l'envoi en direct
ActiveWorkbook.Save
ActiveWorkbook.SendMail "adresse destinataire", "Objets de ton mail"
Rajoutes une gestion d'erreur au cas ou tu répondes NON...
sinon, c'est beaucoup plus compliqué si tu veux l'automatiser à 100 %
ActiveWorkbook.Save
ActiveWorkbook.SendMail "adresse destinataire", "Objets de ton mail"
Rajoutes une gestion d'erreur au cas ou tu répondes NON...
sinon, c'est beaucoup plus compliqué si tu veux l'automatiser à 100 %
tony020422
Messages postés
445
Date d'inscription
mercredi 7 mai 2008
Statut
Membre
Dernière intervention
19 janvier 2010
6
29 mai 2009 à 09:06
29 mai 2009 à 09:06
Slt nico, merci d'avoir répondu!!
voici le code que j'ai sur mon bouton:
Sub Bouton29_QuandClic()
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
ActiveWorkbook.SaveAs Filename:=[C7].Value & ".xls"
Application.Quit
End Sub
Il faudrait que je rajoute sur mon script :
ActiveWorkbook.SendMail "roger@entreprise.com", "Bilan de mod" c'est ca ?! et ca suffit?
autre chose, saurais tu comment faire pour que je choisisse comme dossier d 'enregistrement par défaut
\\angfs1\users$\baron\Bureau\Com MOD SAV ??!! car je ne sais pas le sript VBA permettant de faire ca...
Merci par avance nico ;-)
voici le code que j'ai sur mon bouton:
Sub Bouton29_QuandClic()
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
ActiveWorkbook.SaveAs Filename:=[C7].Value & ".xls"
Application.Quit
End Sub
Il faudrait que je rajoute sur mon script :
ActiveWorkbook.SendMail "roger@entreprise.com", "Bilan de mod" c'est ca ?! et ca suffit?
autre chose, saurais tu comment faire pour que je choisisse comme dossier d 'enregistrement par défaut
\\angfs1\users$\baron\Bureau\Com MOD SAV ??!! car je ne sais pas le sript VBA permettant de faire ca...
Merci par avance nico ;-)
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
NicoDisso
Messages postés
230
Date d'inscription
mardi 26 mai 2009
Statut
Membre
Dernière intervention
22 août 2009
32
29 mai 2009 à 09:57
29 mai 2009 à 09:57
Oui, tu mets cela dans tos code et le mail partira tout seul, je te conseille juste pour le tester de mettre ton mail à toi afin qu'il te revienne...
sinon pour enregistrer dans le chemin annoncé
ChDir "\\angfs1\users$\baron\Bureau\Com MOD SAV\"
ActiveWorkbook.SaveAs Filename:= "\\angfs1\users$\baron\Bureau\Com MOD SAV\" & [C7].Value & ".xls"
ca doit fonctionner...
sinon pour enregistrer dans le chemin annoncé
ChDir "\\angfs1\users$\baron\Bureau\Com MOD SAV\"
ActiveWorkbook.SaveAs Filename:= "\\angfs1\users$\baron\Bureau\Com MOD SAV\" & [C7].Value & ".xls"
ca doit fonctionner...
tony020422
Messages postés
445
Date d'inscription
mercredi 7 mai 2008
Statut
Membre
Dernière intervention
19 janvier 2010
6
29 mai 2009 à 10:11
29 mai 2009 à 10:11
ouaou pr la sauvegarde ca marche nikel merci bcp!!!
pr le mail j'ai mis:
ActiveWorkbook.SendMail "roger@entreprise.com", "Bilan de mod"
et voila ce qu'il m'apparait a l'ecran
http://www.cijoint.fr/cjlink.php?file=cj200905/cijCA4s1cA.jpg
je ne sais pas comment faire! l'expediteur sera tjs serge@entreprise.com et le destinataire sera tjs roger@entreprise.com
sachant que les boite mail sont des boites intranet, et qu'il s'agit d'une messagerie intranet........peut etre est ce pr ca que ca ne fonctionne pas !!
pr le mail j'ai mis:
ActiveWorkbook.SendMail "roger@entreprise.com", "Bilan de mod"
et voila ce qu'il m'apparait a l'ecran
http://www.cijoint.fr/cjlink.php?file=cj200905/cijCA4s1cA.jpg
je ne sais pas comment faire! l'expediteur sera tjs serge@entreprise.com et le destinataire sera tjs roger@entreprise.com
sachant que les boite mail sont des boites intranet, et qu'il s'agit d'une messagerie intranet........peut etre est ce pr ca que ca ne fonctionne pas !!
NicoDisso
Messages postés
230
Date d'inscription
mardi 26 mai 2009
Statut
Membre
Dernière intervention
22 août 2009
32
29 mai 2009 à 10:25
29 mai 2009 à 10:25
non en fait, c'est que n'a pas de client par défaut configuré pour envoyer des mails.
du coup il te lance l'assistant
Si tu as un compte mail de configurer et que ton logiciel de messagerie est associé, tu n'auras pas le souci.
Mail en intranet ou pas, c'est un client mail, c'est ensuite sur ton serveur de messagerie que les restrictions d'envoi sont effectives...
du coup il te lance l'assistant
Si tu as un compte mail de configurer et que ton logiciel de messagerie est associé, tu n'auras pas le souci.
Mail en intranet ou pas, c'est un client mail, c'est ensuite sur ton serveur de messagerie que les restrictions d'envoi sont effectives...
tony020422
Messages postés
445
Date d'inscription
mercredi 7 mai 2008
Statut
Membre
Dernière intervention
19 janvier 2010
6
29 mai 2009 à 10:37
29 mai 2009 à 10:37
donc une fois configuré il ne devrait plus y avoir de souci...... le truc c'est qu'on me demande les serveurs entrants et sortants (POP et SMTP) pr lesquels je ne sais pas quoi mettre!
pr info en allant dans les parametres de la messagerie j'ai trouvé ca comme info:
serveur hôte : ANGDS4/SRV/TAH
c'est lotus domino access la messagerie (en intranet)
j'ai pas trouvé d'autres infos.......
pr info en allant dans les parametres de la messagerie j'ai trouvé ca comme info:
serveur hôte : ANGDS4/SRV/TAH
c'est lotus domino access la messagerie (en intranet)
j'ai pas trouvé d'autres infos.......
NicoDisso
Messages postés
230
Date d'inscription
mardi 26 mai 2009
Statut
Membre
Dernière intervention
22 août 2009
32
29 mai 2009 à 11:06
29 mai 2009 à 11:06
if faut que dans test complements tu es lotus note de cocher ensuite exploites ca
Sub EnvoiMail()
Dim Fso As FileSystemObject
Dim Fichier_A_Envoyer As String
Dim Envoi As Boolean
Set Fso = New FileSystemObject
Fichier_A_Envoyer = "..."
If Fso.FileExists(Fichier_A_Envoyer) = True Then
Dim Email(1) As String
Email(1) = "destinataire@entreprise.fr"
Envoi = EnvoiNotesMail("Le fichier ", Fichier_A_Envoyer, Email(1), True)
If Envoi = True Then
MsgBox "Votre message a été envoyé à " & Email(1) & ".", vbInformation, "Information"
Else
MsgBox "Echec de l'envoi de votre message à " & Email(1) & ".", vbExclamation, "Avertissement"
End If
Next i
Else
MsgBox "Le fichier a envoyer n'existe pas !", vbExclamation, "Message"
End If
End Sub
Function EnvoiNotesMail(Subject As String, Attachment As String, Recipient As String, SaveIt As Boolean, RDC_A_Envoyer As String) As Boolean
'Set up the objects required for Automation into Lotus Notes
Dim Maildb As NotesDatabase 'The mail database
Dim UserName As String 'The current users notes name
Dim MailDoc As Object 'The mail document itself
Dim AttachME As Object 'The attachment richtextfile object
Dim oSession As NotesSession
Dim dbDirectory As NotesDbDirectory
Dim EmbedObj As Object 'The embedded object (Attachment)
Dim objNotesField As Object ' Déclaration de la variable concernant le corps du message
On Error GoTo ErrHandle
Set oSession = New NotesSession
'Démarre une session de notes
' La ligne suivante ne marche qu'avec les versions 5.x et 6.x ,
' c'est l'injection du mot de passe
oSession.Initialize ("mot de passe utilisateur")
'Récupère le nom par défaut de la session
UserName = oSession.UserName
'Ouvre la base mail en utilisant le serveur par défaut
Set dbDirectory = oSession.GetDbDirectory(Declarations_Des_Variables.Serveur_LotusNote)
Set Maildb = dbDirectory.OpenMailDatabase
'Création du formulaire d'envoi de mail
Set MailDoc = Maildb.CreateDocument()
MailDoc.AppendItemValue "Subject", Subject ' remplissage du Sujet
MailDoc.AppendItemValue "SendTo", Recipient ' adresse du destinataire Email(i)
' Construction du corps du message
Set objNotesField = MailDoc.CreateRichTextItem("Body")
With objNotesField
.AppendText "Bonjour,"
.AddNewLine 1
.AppendText "Ci-joint le fichier "
.AddNewLine 1
.AppendText "Cordialement"
.AddNewLine 1
.AppendText "Expediteur"
.AddNewLine 3
End With
'Permet d'attacher un document au mail
If Attachment <> "" Then
Set AttachME = MailDoc.CreateRichTextItem("Attachment")
Set EmbedObj = AttachME.EmbedObject(1454, "", Attachment, "Attachment")
End If
'Envoi du document
If SaveIt = True Then
MailDoc.SaveMessageOnSend = SaveIt 'si à True, Lotus sauvegarde le mail envoyé
End If
Call MailDoc.Send(False)
prvSendNotesMail = True
GoTo ExitHandle
ErrHandle:
MsgBox Err.Description
prvSendNotesMail = False
ExitHandle:
If Err.Number = 0 Then
EnvoiNotesMail = True
Else
EnvoiNotesMail = False
End If
'Vidage mémoire
Set Maildb = Nothing
Set MailDoc = Nothing
Set AttachME = Nothing
Set oSession = Nothing
Set dbDirectory = Nothing
Set EmbedObj = Nothing
End Function
Sub EnvoiMail()
Dim Fso As FileSystemObject
Dim Fichier_A_Envoyer As String
Dim Envoi As Boolean
Set Fso = New FileSystemObject
Fichier_A_Envoyer = "..."
If Fso.FileExists(Fichier_A_Envoyer) = True Then
Dim Email(1) As String
Email(1) = "destinataire@entreprise.fr"
Envoi = EnvoiNotesMail("Le fichier ", Fichier_A_Envoyer, Email(1), True)
If Envoi = True Then
MsgBox "Votre message a été envoyé à " & Email(1) & ".", vbInformation, "Information"
Else
MsgBox "Echec de l'envoi de votre message à " & Email(1) & ".", vbExclamation, "Avertissement"
End If
Next i
Else
MsgBox "Le fichier a envoyer n'existe pas !", vbExclamation, "Message"
End If
End Sub
Function EnvoiNotesMail(Subject As String, Attachment As String, Recipient As String, SaveIt As Boolean, RDC_A_Envoyer As String) As Boolean
'Set up the objects required for Automation into Lotus Notes
Dim Maildb As NotesDatabase 'The mail database
Dim UserName As String 'The current users notes name
Dim MailDoc As Object 'The mail document itself
Dim AttachME As Object 'The attachment richtextfile object
Dim oSession As NotesSession
Dim dbDirectory As NotesDbDirectory
Dim EmbedObj As Object 'The embedded object (Attachment)
Dim objNotesField As Object ' Déclaration de la variable concernant le corps du message
On Error GoTo ErrHandle
Set oSession = New NotesSession
'Démarre une session de notes
' La ligne suivante ne marche qu'avec les versions 5.x et 6.x ,
' c'est l'injection du mot de passe
oSession.Initialize ("mot de passe utilisateur")
'Récupère le nom par défaut de la session
UserName = oSession.UserName
'Ouvre la base mail en utilisant le serveur par défaut
Set dbDirectory = oSession.GetDbDirectory(Declarations_Des_Variables.Serveur_LotusNote)
Set Maildb = dbDirectory.OpenMailDatabase
'Création du formulaire d'envoi de mail
Set MailDoc = Maildb.CreateDocument()
MailDoc.AppendItemValue "Subject", Subject ' remplissage du Sujet
MailDoc.AppendItemValue "SendTo", Recipient ' adresse du destinataire Email(i)
' Construction du corps du message
Set objNotesField = MailDoc.CreateRichTextItem("Body")
With objNotesField
.AppendText "Bonjour,"
.AddNewLine 1
.AppendText "Ci-joint le fichier "
.AddNewLine 1
.AppendText "Cordialement"
.AddNewLine 1
.AppendText "Expediteur"
.AddNewLine 3
End With
'Permet d'attacher un document au mail
If Attachment <> "" Then
Set AttachME = MailDoc.CreateRichTextItem("Attachment")
Set EmbedObj = AttachME.EmbedObject(1454, "", Attachment, "Attachment")
End If
'Envoi du document
If SaveIt = True Then
MailDoc.SaveMessageOnSend = SaveIt 'si à True, Lotus sauvegarde le mail envoyé
End If
Call MailDoc.Send(False)
prvSendNotesMail = True
GoTo ExitHandle
ErrHandle:
MsgBox Err.Description
prvSendNotesMail = False
ExitHandle:
If Err.Number = 0 Then
EnvoiNotesMail = True
Else
EnvoiNotesMail = False
End If
'Vidage mémoire
Set Maildb = Nothing
Set MailDoc = Nothing
Set AttachME = Nothing
Set oSession = Nothing
Set dbDirectory = Nothing
Set EmbedObj = Nothing
End Function
tony020422
Messages postés
445
Date d'inscription
mercredi 7 mai 2008
Statut
Membre
Dernière intervention
19 janvier 2010
6
29 mai 2009 à 11:42
29 mai 2009 à 11:42
"If faut que dans test complements tu es lotus note de cocher".....je ne sais pas ou ca se fait ni comment !!
"ensuite exploites ca ".......
hheeuu...nouveau module? ou ds scriot de la feuille? ou ds thisworkbook?
"Fichier_A_Envoyer = "..."
nom du fichier que je dois mettre en PJ ?
"Envoi = EnvoiNotesMail("Le fichier ", Fichier_A_Envoyer, Email(1), True)"
c'est quoi la différence entre "le fichier" et "Fichier_A_envoyer"
"La ligne suivante ne marche qu'avec les versions 5.x et 6.x"
ici c'est, Domino Web Access Version 6.5.4 Version 429
Set dbDirectory = oSession.GetDbDirectory(Declarations_Des_Variables.Serveur_LotusNote)
je ne sais pas ce que cela signifie
Set AttachME = MailDoc.CreateRichTextItem("Attachment")
Set EmbedObj = AttachME.EmbedObject(1454, "", Attachment, "Attachment")
je met quoi a la place de "attachment"
Merci en tt cas nico de t'impliquer autant, et d'avoir autant de patience, ca m'aide vraiment !!
@ tt a l'heure !
"ensuite exploites ca ".......
hheeuu...nouveau module? ou ds scriot de la feuille? ou ds thisworkbook?
"Fichier_A_Envoyer = "..."
nom du fichier que je dois mettre en PJ ?
"Envoi = EnvoiNotesMail("Le fichier ", Fichier_A_Envoyer, Email(1), True)"
c'est quoi la différence entre "le fichier" et "Fichier_A_envoyer"
"La ligne suivante ne marche qu'avec les versions 5.x et 6.x"
ici c'est, Domino Web Access Version 6.5.4 Version 429
Set dbDirectory = oSession.GetDbDirectory(Declarations_Des_Variables.Serveur_LotusNote)
je ne sais pas ce que cela signifie
Set AttachME = MailDoc.CreateRichTextItem("Attachment")
Set EmbedObj = AttachME.EmbedObject(1454, "", Attachment, "Attachment")
je met quoi a la place de "attachment"
Merci en tt cas nico de t'impliquer autant, et d'avoir autant de patience, ca m'aide vraiment !!
@ tt a l'heure !
NicoDisso
Messages postés
230
Date d'inscription
mardi 26 mai 2009
Statut
Membre
Dernière intervention
22 août 2009
32
29 mai 2009 à 11:47
29 mai 2009 à 11:47
"If faut que dans test complements tu es lotus note de cocher"
menu outils/reference dans VBA
"ensuite exploites ca ".......
nouveau module
"Fichier_A_Envoyer = "..."
Chemin acces au fichier
"Envoi = EnvoiNotesMail("Le fichier ", Fichier_A_Envoyer, Email(1), True)"
"le fichier = objet du mail" et "Fichier_A_envoyer variable contenant le chemin d'acces"
ici c'est, Domino Web Access Version 6.5.4 Version 429
oui alors la je suis marron, j'étais parti avec Notes
Set dbDirectory = oSession.GetDbDirectory(Declarations_Des_Variables.Serveur_LotusNote)
Tu n'avais pas à y toucher
Set AttachME = MailDoc.CreateRichTextItem("Attachment")
Set EmbedObj = AttachME.EmbedObject(1454, "", Attachment, "Attachment")
je met quoi a la place de "attachment"
tu touchais à rien
je suis désolé, ce code pourra toujours servir à ceux qui ont Lotus Note, pour domino, il faudrait chercher ( peut etre sur vbfrance.com )
menu outils/reference dans VBA
"ensuite exploites ca ".......
nouveau module
"Fichier_A_Envoyer = "..."
Chemin acces au fichier
"Envoi = EnvoiNotesMail("Le fichier ", Fichier_A_Envoyer, Email(1), True)"
"le fichier = objet du mail" et "Fichier_A_envoyer variable contenant le chemin d'acces"
ici c'est, Domino Web Access Version 6.5.4 Version 429
oui alors la je suis marron, j'étais parti avec Notes
Set dbDirectory = oSession.GetDbDirectory(Declarations_Des_Variables.Serveur_LotusNote)
Tu n'avais pas à y toucher
Set AttachME = MailDoc.CreateRichTextItem("Attachment")
Set EmbedObj = AttachME.EmbedObject(1454, "", Attachment, "Attachment")
je met quoi a la place de "attachment"
tu touchais à rien
je suis désolé, ce code pourra toujours servir à ceux qui ont Lotus Note, pour domino, il faudrait chercher ( peut etre sur vbfrance.com )
tony020422
Messages postés
445
Date d'inscription
mercredi 7 mai 2008
Statut
Membre
Dernière intervention
19 janvier 2010
6
29 mai 2009 à 12:02
29 mai 2009 à 12:02
aa ok merde alors nico!! j'avais pas saisi que ca collait pas avec ce que j'ai comme version.........je ss deg pr toi en priorité (pr le boulet que t'as réalisé et qui me servira pas!) et pi tant pis pr moi.....
En tt cas mille merci pour l'aide que tu m'as apporté, et pr ta patience, vraiment ca fait plaisir........
Bonne journée ensoleillée a toi et bon appétit, a bientôt que le forum !!
En tt cas mille merci pour l'aide que tu m'as apporté, et pr ta patience, vraiment ca fait plaisir........
Bonne journée ensoleillée a toi et bon appétit, a bientôt que le forum !!
NicoDisso
Messages postés
230
Date d'inscription
mardi 26 mai 2009
Statut
Membre
Dernière intervention
22 août 2009
32
29 mai 2009 à 12:06
29 mai 2009 à 12:06
merci a toi aussi en esperant trouver une solution...
je vais quand meme chercher au cas ou
je vais quand meme chercher au cas ou
NicoDisso
Messages postés
230
Date d'inscription
mardi 26 mai 2009
Statut
Membre
Dernière intervention
22 août 2009
32
29 mai 2009 à 12:12
29 mai 2009 à 12:12
regardes quand meme parce qu'il y a l'air d'avoir un ammalgamme entre lotus note et domino donc on ne sais jamais...
Sinon dans le prire des cas, il faudrait creer un mail sur un autre systeme de messagerie ( style gmail ou autre et ensuite configurer le client que tu avais au tout debut afinde l'utiliser )
Ca c'est tout a fait possible...
Sinon dans le prire des cas, il faudrait creer un mail sur un autre systeme de messagerie ( style gmail ou autre et ensuite configurer le client que tu avais au tout debut afinde l'utiliser )
Ca c'est tout a fait possible...
tony020422
Messages postés
445
Date d'inscription
mercredi 7 mai 2008
Statut
Membre
Dernière intervention
19 janvier 2010
6
1 juin 2009 à 14:11
1 juin 2009 à 14:11
Slt nico ;-)
J'espère que t'as passé 1 bon week end ;-)
j'ai une chtite question en prgrammation qui je pense te fera sourire par sa simplicité mais je beug:
j'aimerais que lorsque je mette dans la colonne I intitulée "date de fin de travaux" un numéro de semaine (planification) comme par exemple "s25" un pop up apparaisse lorsque l'on sera effectgivement en semaine 25 pr me prévenir de penser a facturer.....
J'espère que tu comprends ce que j'aimerais faire ;-)
Merci par avance pr le coup de main !!
PS: je sais que ceci est le script pr convertir une date en numéro de semaine:
Public Function Semaine(dat As Date) As Integer
Dim a As Integer
a = Int((dat - DateSerial(Year(dat), 1, 1) + _
((Weekday(DateSerial(Year(dat), 1, 1)) + 1) _
Mod 7) - 3) / 7) + 1
If a = 0 Then
a = Semaine(DateSerial(Year(dat) - 1, 12, 31))
ElseIf a = 53 And (Weekday(DateSerial(Year(dat), 12, 31)) - 1) Mod 7 <= 3 Then
a = 1
End If
Semaine = a
End Function
J'espère que t'as passé 1 bon week end ;-)
j'ai une chtite question en prgrammation qui je pense te fera sourire par sa simplicité mais je beug:
j'aimerais que lorsque je mette dans la colonne I intitulée "date de fin de travaux" un numéro de semaine (planification) comme par exemple "s25" un pop up apparaisse lorsque l'on sera effectgivement en semaine 25 pr me prévenir de penser a facturer.....
J'espère que tu comprends ce que j'aimerais faire ;-)
Merci par avance pr le coup de main !!
PS: je sais que ceci est le script pr convertir une date en numéro de semaine:
Public Function Semaine(dat As Date) As Integer
Dim a As Integer
a = Int((dat - DateSerial(Year(dat), 1, 1) + _
((Weekday(DateSerial(Year(dat), 1, 1)) + 1) _
Mod 7) - 3) / 7) + 1
If a = 0 Then
a = Semaine(DateSerial(Year(dat) - 1, 12, 31))
ElseIf a = 53 And (Weekday(DateSerial(Year(dat), 12, 31)) - 1) Mod 7 <= 3 Then
a = 1
End If
Semaine = a
End Function
tony020422
Messages postés
445
Date d'inscription
mercredi 7 mai 2008
Statut
Membre
Dernière intervention
19 janvier 2010
6
1 juin 2009 à 14:46
1 juin 2009 à 14:46
Solution trouvée !!!
peu académique certes mais ca marche....... !!
peu académique certes mais ca marche....... !!
NicoDisso
Messages postés
230
Date d'inscription
mardi 26 mai 2009
Statut
Membre
Dernière intervention
22 août 2009
32
2 juin 2009 à 09:37
2 juin 2009 à 09:37
il me semblait que pour la semaine, c'était prévue :
Format("01/01/2009", "WW")
remplace avantageusement
Int((dat - DateSerial(Year(dat), 1, 1) + ((Weekday(DateSerial(Year(dat), 1, 1)) + 1) Mod 7) - 3) / 7) + 1
;-)
Format("01/01/2009", "WW")
remplace avantageusement
Int((dat - DateSerial(Year(dat), 1, 1) + ((Weekday(DateSerial(Year(dat), 1, 1)) + 1) Mod 7) - 3) / 7) + 1
;-)
tony020422
Messages postés
445
Date d'inscription
mercredi 7 mai 2008
Statut
Membre
Dernière intervention
19 janvier 2010
6
2 juin 2009 à 09:44
2 juin 2009 à 09:44
Slt nico,
tjs en place ;-)
Pour ce chti pb ca y est j'ai réglé le pb.....à ma facon ;-)
Sinon je ss reparti sur mon excel et j'ai un truc à faire tendu que je ne sais pas programmer:
Je souhaiterais que ma macro excel recopie (copie/colle) la valeur d'une cellule de mon fichier excel dans 1 emplacement précis et prédéfini d'une feuille ISO (qui est un fichier .doc protégé en écriture sauf à 2 endroits modifiables ou c'est la qu'il faudrait réinjecter les valeurs excel)
Je ne sais pas quel code VBA permettrait ceci , sachant que ma macro ouvre dores et déjà le fichier.doc..
j'ai remarqué qu'en faisant (Ctrl+C) sur excel, puis directement (Ctrl+V) aprés avoir ouvert le .doc, la valeur désirée se colle à l'endroit voulue....
la 2eme valeur a copier/coller se fait également par Ctrl+C depuis Excel et Ctrl+V sur word aprés avoir fait "une tabulation" sur le .doc qui fait directement passer à l'autre zone modifiable du fichier...
j'ai tenté ca:
With DocWord
Set AppWord = CreateObject("Word.Application")
Application.DisplayAlerts = True
AppWord.ShowMe
AppWord.Visible = True
Set DocWord = AppWord.Documents.Open("C:\\ mon fichier.doc", ReadOnly:=False)
End With
With AppWord
ThisWorkbook.Worksheets("Feuil1").Range("C9").Copy
With ActiveDocument.Tables(2).Cell(1, 2)
.Range.Paste
.Select
End With
End With
mais j'ai une erreur 424 pr cette commande: With ActiveDocument.Tables(2).Cell(1, 2)
Aurais tu une idée ?!
tjs en place ;-)
Pour ce chti pb ca y est j'ai réglé le pb.....à ma facon ;-)
Sinon je ss reparti sur mon excel et j'ai un truc à faire tendu que je ne sais pas programmer:
Je souhaiterais que ma macro excel recopie (copie/colle) la valeur d'une cellule de mon fichier excel dans 1 emplacement précis et prédéfini d'une feuille ISO (qui est un fichier .doc protégé en écriture sauf à 2 endroits modifiables ou c'est la qu'il faudrait réinjecter les valeurs excel)
Je ne sais pas quel code VBA permettrait ceci , sachant que ma macro ouvre dores et déjà le fichier.doc..
j'ai remarqué qu'en faisant (Ctrl+C) sur excel, puis directement (Ctrl+V) aprés avoir ouvert le .doc, la valeur désirée se colle à l'endroit voulue....
la 2eme valeur a copier/coller se fait également par Ctrl+C depuis Excel et Ctrl+V sur word aprés avoir fait "une tabulation" sur le .doc qui fait directement passer à l'autre zone modifiable du fichier...
j'ai tenté ca:
With DocWord
Set AppWord = CreateObject("Word.Application")
Application.DisplayAlerts = True
AppWord.ShowMe
AppWord.Visible = True
Set DocWord = AppWord.Documents.Open("C:\\ mon fichier.doc", ReadOnly:=False)
End With
With AppWord
ThisWorkbook.Worksheets("Feuil1").Range("C9").Copy
With ActiveDocument.Tables(2).Cell(1, 2)
.Range.Paste
.Select
End With
End With
mais j'ai une erreur 424 pr cette commande: With ActiveDocument.Tables(2).Cell(1, 2)
Aurais tu une idée ?!
tony020422
Messages postés
445
Date d'inscription
mercredi 7 mai 2008
Statut
Membre
Dernière intervention
19 janvier 2010
6
2 juin 2009 à 09:44
2 juin 2009 à 09:44
parce que la je ne sais pas trop quoi faire ;-)
tony020422
Messages postés
445
Date d'inscription
mercredi 7 mai 2008
Statut
Membre
Dernière intervention
19 janvier 2010
6
2 juin 2009 à 09:49
2 juin 2009 à 09:49
With ActiveDocument.Tables(2).Cell(1, 2)
faudrait que ca corresponde à mes emplacmeents dispos sur le .doc que je ne sais pas comment caractériser!
faudrait que ca corresponde à mes emplacmeents dispos sur le .doc que je ne sais pas comment caractériser!