Problème EXECUTION MACRO
Bonjour à tous,
J'ai un problème (qui ne devrait pourtant pas en être un) lors de l'exécution de ma macro. A un moment dans ma macro j'effectue une recherche verticale en fonction de variable. Je lui dit ensuite si la variable "Chemin" = "" d'afficher un MsgBox en appelant la fonction "Message". L'ennui c'est que ma macro fonctionne lorsque je vais pas a pas avec F8. Mais lorsque je l’exécute complètement avec le bouton de commande elle me met un message d'erreur avec debogage stipulant qu'elle n'a pas trouvé le fichier. Au moment ou la commande "Workbooks.Open Filename:=Chemin + Fichier" intervient alors qu'elle ne devrait jamais intervenir car situé en fin de ma macro. Je vous joint mon code, merci pour votre aide et dsl pour la taille du code.
Dim Chanfrein As String
Sub Boutton_choix()
'Application.ScreenUpdating = False
'Application.Visible = False
Sheets("Feuille Macro CNM").Visible = xlSheetVisible
Sheets("Feuille Macro CNM").Select
Fichier = Range("B2")
If Fichier = "" Then
Message
End If
If Fichier <> "" Then
ouvrir_CNM
End If
'Application.Visible = True
'Application.ScreenUpdating = True
End Sub
Sub ouvrir_CNM()
Application.ScreenUpdating = False
' Application.Visible = False
Sheets("Feuille Macro CNM").Visible = xlSheetVisible
Sheets("Feuille Macro CNM").Select
Fichier = Range("B2")
Chemin = ThisWorkbook.Path & "\00 - DOSSIER VERS CLIENT POUR APPROBATION\CNM\"
Sheets("Feuille pour Listes").Select
Range("BO3").Select
For I = 1 To 100
ActiveCell.Offset(1, 0).Range("A1").Select
If Range("BO2") = ActiveCell Then GoTo a
If I = 100 Then MsgBox ("Ø étancheité introuvable")
Next I
a:
PlugThck = ActiveCell.Offset(0, 1)
DiamE = ActiveCell.Offset(0, 2)
Sheets("Feuille de saisies").Select
Workbooks("Feuille_Commande_Client.xlsm").Activate
CLIENT = Range("D6")
Order = Range("D16")
Spec = Range("D19")
Req = Range("D20")
ECC = Range("D13")
Item = Range("D17")
NumItem = Range("D33")
Typ = Range("D34")
OD = Range("D58")
PipeMat = Range("D26")
ODpipe = Range("D27")
ID = Range("D28")
NPS = Range("D37")
Qty = Range("D40")
DP = Range("D50")
TempMini = Range("D47")
DesignTemp = Range("D48")
Thck = Range("D29")
ThckBis = Range("D29")
Corr = Range("D49")
Tag = Range("D18")
SerialNum = Range("D41")
HubMat = Range("D87")
Chanfrein = Range("D112")
PlugMat = Range("D122")
SegmMat = Range("D152")
Gasket = Range("D145")
BleedScrew = Range("D176")
Sheets("Feuille Macro CNM").Visible = xlSheetHidden
Workbooks.Open Filename:=Chemin + Fichier
Range("P1") = CLIENT
Range("P2") = Order
Range("P3") = Req
Range("P4") = Spec
Range("P6") = ECC
ThckBis = Round(ThckBis, 2)
Range("B7") = Item & " - CALCULATION NOTE FOR " & IIf(Typ = "SER 2K1", "SER", "NLS") & " ID=" & ID & "mm (NPS " & NPS & "'') DP=" & DP & "MPa x " & ThckBis & "mm"
Range("H10") = DP * 10
Range("G11") = TempMini & "°C /"
Range("H11") = DesignTemp
Range("H12") = Corr
Range("H13") = ODpipe
Range("H14") = Thck
Range("H16") = PipeMat
Range("Q10") = HubMat
Range("Q13") = PlugMat
Range("H25") = OD
Range("H42") = DiamE
Range("G55") = PlugThck
Range("O62") = "CNM-" & Replace(ECC, "/", "") & "-" & NumItem
Copier_Coller_Image
' Application.Visible = True
Application.ScreenUpdating = True
Application.DisplayFullScreen = False
End Sub
Sub Message()
'Application.ScreenUpdating = False
Sheets("Feuille de saisies").Select
Sheets("Feuille Macro CNM").Visible = xlSheetHidden
MsgBox "La Feuille de Calcul n'existe pas!"
Exit Sub
'Application.ScreenUpdating = True
End Sub
Sub affiche_onglet_CNM()
Application.ScreenUpdating = False
Sheets("Feuille Macro CNM").Visible = xlSheetVisible
Application.ScreenUpdating = True
End Sub
Sub Copier_Coller_Image()
Application.ScreenUpdating = False
Application.Visible = False
If Chanfrein = "chanfrein SP" Then
Range("A1").Select
ActiveSheet.Shapes("Imagesp").Select
Selection.Copy
Range("N25").Select
ActiveSheet.Paste
Range("A1").Select
End If
If Chanfrein = "chanfrein SP droit" Then
Range("A1").Select
ActiveSheet.Shapes("Imagespdroit").Select
Selection.Copy
Range("N25").Select
ActiveSheet.Paste
Range("A1").Select
End If
If Chanfrein = "chanfrein DP" Then
Range("A1").Select
ActiveSheet.Shapes("Imagedp").Select
Selection.Copy
Range("N25").Select
ActiveSheet.Paste
Range("A1").Select
End If
If Chanfrein = "chanfrein en X" Then
Range("A1").Select
ActiveSheet.Shapes("Imagex").Select
Selection.Copy
Range("N25").Select
ActiveSheet.Paste
Range("A1").Select
End If
If Chanfrein <> "chanfrein en X" Then
If Chanfrein <> "chanfrein DP" Then
If Chanfrein <> "chanfrein SP droit" Then
If Chanfrein <> "chanfrein SP" Then
MsgBox ("Sélectionner un chanfrein !!")
End If
End If
End If
End If
Application.ScreenUpdating = True
Application.Visible = True
End Sub
Salut,
Je pense que sans ton fichier, tu as peu de chance de recevoir une réponse. A ta place je mettrais même un deuxième fichier-exemple avec un titre correspondant aux fichiers qui doivent être ouverts par ta macro.
Cordialement.
Je te remercie de tes conseils car en effet tu as raison. Par contre j'ai trouvé la solution à mon problème donc tout va bien.