Mise en ordre macro
Bonjour
Je me suis lancer dans une macro un peu trop complexe pour moi et j'ai besoin d'un coup de main !
Dans l'ensemble sa fonctionne plutôt pas mal, sauf qu'elle s’exécute dans le désordre en partie !
Explications : Pour la partie verte sa fonctionne, sauf si j'ai le malheur de cliquer sur non, lorsque qu'un dossier (portant le même nom) à déja été créée, j'ai une erreur d'éxécution 1004
La méthode 'saveAs' de l'objet '_Workbook à échoué
Sa je peut vivre avec !
Pour la partie plus bas, mon USERFORM apparait mais il me demande seulement après si je veux ajouter ce devis aux opportunités, donc pas du tout logique !
En gros je voudrais
1) Apparition du USERFORM
2) Msgbox :" Souhaitez vous ajoutez ce devis à vos opportunitées ?" oui ou non ?
Si, Oui Msgbox "Veuillez cliquer sur ajouter ", et si par grand malheur, ma TEXTBOX NOM est vide, Msgbox :"Veuillez remplir le nom de votre contact"
3)Si, Non ! mon USERFORM se ferme tout simplement
Si quelqu'un peut m'aider merci
Sub ENREGISTRER()
Dim Path As String
Dim File As String
Dim rep As Integer
Application.ScreenUpdating = False
Sheets(Array("DDE DEVIS", "NETTOYAGE", "data")).Copy
With ThisWorkbook.Sheets("NETTOYAGE")
File = "C:\Users\jno\Documents\Devis"
Path = "C:\Users\jno\Documents\Devis" & "\" & .Range("G11").Value & "DEVIS" & .Range("H8").Value
'Teste si le repertoire existe sinon creation
If Len(Dir(Path, vbDirectory)) = 0 Then
MkDir (File & "\" & .Range("G11").Value & "DEVIS" & .Range("H8").Value)
End If
'sauvegarde du fichier Excel
ActiveWorkbook.SaveAs Filename:=Path & "\" & "DEVIS" & " " & .Range("G11").Value & " " & .Range("H8").Value & " - " & Format(Date, "dd-mm-yy") & ".xls"
ActiveWorkbook.Close
.ExportAsFixedFormat Type:=xlTypePDF, Filename:=Path & "\" & "DEVIS" & " " & .Range("G11").Value & " " & .Range("H8").Value & " - " & Format(Date, "dd-mm-yy") & ".pdf", Quality:= _
xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, _
From:=1, To:=2, OpenAfterPublish:=False
UserForm2.Show
rep = MsgBox("Souhaitez vous ajoutez ce devis à vos opportunitées ?", vbQuestion + vbYesNo)
If rep = vbNo Then
Unload UserForm2
End If
Exit Sub
If rep = vbYes Then
End If
MsgBox ("Cliquez sur Ajouter")
If txtNom.Text = "" Then
MsgBox "Veuillez remplir le nom de votre contact", vbCritical, "Champs manquant"
txtNom.SetFocus
End If
txtNom.Value = Sheets("Nettoyage").Range("G11").Value
txtdevis.Value = Sheets("Nettoyage").Range("H8").Value
TextBox2.Value = Sheets("Nettoyage").Range("H99").Value
TextBox3.Value = Sheets("Nettoyage").Range("H102").Value
Bonjour,
un code ne se trompe pas ni ne s'exécute dans le désordre : il suit juste ses directives …
S'il ne fonctionne pas, il n'y est pour rien car c'est la faute de son concepteur !
Rien qu'en progressant dans le code en mode pas à pas via la touche F8, cela permet de trouver ses boulettes …
Bonjour
J'ai revu ma macro, j'utiliserais call pour qu'elle fonctionne avec l'autre cependant j'ai un petit problème, mon UserForm qui ne se ferme pas, après ajout.
Quelqu'un aurait une idée ?
Sub test()
Dim rep As Integer
rep = MsgBox("Souhaitez vous ajoutez ce devis à vos opportunitées ?", vbQuestion + vbYesNo)
If rep = vbNo Then
End If
If rep = vbYes Then
MsgBox ("Cliquez sur Ajouter")
UserForm2.Show
End If
If txtNom = " " Then
MsgBox "Veuillez remplir le nom de votre contact", vbCritical, "Champs manquant"
txtNom.SetFocus
If Sheets("Nettoyage").Range("G11").Value = "0" Then
MsgBox ("Entrez le nom du client")
End If
txtNom.Value = Sheets("Nettoyage").Range("G11").Value
txtdevis.Value = Sheets("Nettoyage").Range("H8").Value
TextBox2.Value = Sheets("Nettoyage").Range("H99").Value
TextBox3.Value = Sheets("Nettoyage").Range("H102").Value
End If
Unload UserForm2
Exit Sub
End Sub