Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

comment utiliser ALT-CTRL pour exécuter une macros sur le premier doc.

2 réponses
Avatar
pellet15
Bonjour =C3=A0 tous

J'ai un fichier(insp.xls) excel que j utilise sur un IPAD ,

je voudrait utiliser une Macros qui s'ex=C3=A9cuterais a partir=20
d'un autre fichier Excel(Principal.xls) pour ne pas enregistrer
de Macros sur le Ipal.

La macros que j'ai fait:

Copier la page du fichier Excel en PDF et l'envoie par email.

Voici la Macros =3D Sub PrintPDF()
------------------------------------------

Function Printe(Row As Long, Colonne As Integer)
Dim name As String
Dim VV As String
If InStr(ActiveSheet.Range("E1"), "visuelle") > 0 Then
VV =3D "Visuelle"
Else
VV =3D "D=C3=A9taill=C3=A9"
End If
name =3D ActiveSheet.Range("B4") & " - " & ActiveSheet.Range("I9") & " - I=
nspection " & VV & " - " & ActiveSheet.Range("I2") & ".pdf"
ActiveSheet.ExportAsFixedFormat xlTypePDF, ActiveWorkbook.Path & "\" & nam=
e
End Function

Function SendEmail()
Dim oBjMail
Dim name As String
Dim name2 As String
Dim ObjOutlook As New Outlook.Application
name2 =3D ActiveSheet.Range("I9") & " - " & ActiveSheet.Range("B4") & "=
- Inspection " & VV & ActiveSheet.Range("I2")
Set ObjOutlook =3D New Outlook.Application
Set oBjMail =3D ObjOutlook.CreateItem(olMailItem)
If InStr(ActiveSheet.Range("E1"), "visuelle") > 0 Then
VV =3D "Visuelle"
Else
VV =3D "D=C3=A9taill=C3=A9"
End If
name =3D ActiveSheet.Range("B4") & " - " & ActiveSheet.Range("I9") & " =
- Inspection " & VV & " - " & ActiveSheet.Range("I2") & ".pdf"
If name =3D "" Then
Exit Function
End If
With oBjMail
.To =3D ActiveSheet.Range("F7")
.CC =3D ActiveSheet.Range("G9")
.BCC =3D ActiveSheet.Range("G10")
.Subject =3D name2
.Body =3D "Bonjour " & WorksheetFunction.Proper(ActiveSheet.Range("=
F5")) & Chr(10) & Chr(10) & "Voici le rapport du mois de " & Format(Active=
Sheet.Range("I2"), "mmmm") & "." & Chr(10) & Chr(10) & "Salutations," & Chr=
(10) & Chr(10) & "Rail Cantech" & Chr(10) & "650, Boul. Lionel-Boulet" & Ch=
r(10) & "Varennes (Qu=C3=A9bec), J3X 1P7" & Chr(10) & "T: 450-652-3010 #286=
" & Chr(10) & "F: 450-652-5250"
.Attachments.Add ActiveWorkbook.Path & "\" & name
.Display
End With
Set oBjMail =3D Nothing
Set ObjOutlook =3D Nothing
End Function

Sub PrintPDF()
Dim Colonne As Integer
Colonne =3D 13
Dim DernLigne As Long
DernLigne =3D Range("I" & Rows.Count).End(xlUp).Row
Call Printe(DernLigne + 1, Colonne)
Call SendEmail
End Sub

---------------------------------------
Merci

2 réponses

Avatar
MichD
Bonjour,
J'ai un iPad, mais je ne sais pas si Excel sur cet iPad est capable de
Macro. Si c'est le cas, voici quelques explications sur la manière
d'appeler une macro d'un autre classeur qu'il soit ouvert ou fermé.
A )
Nom de la macro : "test1"
Si ton classeur est fermé et que la macro appelée se retrouve dans un
module standard :
Application.Run "'C:Mes documentsAnswer.xls'!test1"
Même chose, mais si le classeur est déjà ouvert :
Application.Run "Answer.xls!test1"
B ) Si le nom de ton classeur contient des espaces :
L'utilisation des apostrophes "'" permet d'utiliser
un nom de classeur contenant des espaces , sans
ces dernières, point de salut.
Classeur fermé
Dim LaMacro As String
LaMacro = "'" & "CheminEtNomClasseur.xls" & "'!test1"
Application.Run LaMacro
Le classeur ouvert ne nécessite pas d'inscrire le chemin du classeur.
C) Si la macro appelée est dans un module feuille du classeur au lieu
d'être dans un module Standard :
Dans la ligne de commande, tu dois insérer le nom de l'objet "Feuille"
que tu retrouves dans la fenêtre VBE (visual basic editor).
Dans la fenêtre de gauche de ton projet, la liste des feuilles est
affichée dans ce format : "toto"("Feuil4")
toto = Nom de l'onglet de la feuille
Feuil4 = Propriété Name de l'objet Feuille (worksheet)
Dans la commande suivante, tu dois utiliser le nom de la feuille et non
de l'onglet de la feuille
Si le fichier est ouvert :
Application.Run "modele.xls!Feuil4.test1"
Si le fichier est fermé :
Application.Run "'C:Mes documentsAnswer.xls'!Feuil4.test1"
MichD
Avatar
pellet15
Le dimanche 26 avril 2020 12:54:19 UTC-4, MichD a écrit :
Bonjour,
J'ai un iPad, mais je ne sais pas si Excel sur cet iPad est capable de
Macro. Si c'est le cas, voici quelques explications sur la manière
d'appeler une macro d'un autre classeur qu'il soit ouvert ou fermé.
A )
Nom de la macro : "test1"
Si ton classeur est fermé et que la macro appelée se retrouve d ans un
module standard :
Application.Run "'C:Mes documentsAnswer.xls'!test1"
Même chose, mais si le classeur est déjà ouvert :
Application.Run "Answer.xls!test1"
B ) Si le nom de ton classeur contient des espaces :
L'utilisation des apostrophes "'" permet d'utiliser
un nom de classeur contenant des espaces , sans
ces dernières, point de salut.
Classeur fermé
Dim LaMacro As String
LaMacro = "'" & "CheminEtNomClasseur.xls" & "'!test1"
Application.Run LaMacro
Le classeur ouvert ne nécessite pas d'inscrire le chemin du classeur .
C) Si la macro appelée est dans un module feuille du classeur au lie u
d'être dans un module Standard :
Dans la ligne de commande, tu dois insérer le nom de l'objet "Feuill e"
que tu retrouves dans la fenêtre VBE (visual basic editor).
Dans la fenêtre de gauche de ton projet, la liste des feuilles est
affichée dans ce format : "toto"("Feuil4")
toto = Nom de l'onglet de la feuille
Feuil4 = Propriété Name de l'objet Feuille (worksheet)
Dans la commande suivante, tu dois utiliser le nom de la feuille et non
de l'onglet de la feuille
Si le fichier est ouvert :
Application.Run "modele.xls!Feuil4.test1"
Si le fichier est fermé :
Application.Run "'C:Mes documentsAnswer.xls'!Feuil4.test1"
MichD

Bonjour MichD
cela ne fonctionne pas bien,
il fait un PDF de la mauvaise feuil dans le email...
J'airais aimer en premier ouvrir le classeur en arrière plan "numeros_ 1.xls"
(celui qui porte la macro)
et après avoir ouvert le classeur "numeros_2.xls" que je veut faire un PDF puis l'envoyé par email, utiliser une touche combiner assigner a la macro.
ce qui me donnerais le PDF du "numeros_2.xls"
Merci