Condition "si "dans macros

shadows31

XLDnaute Nouveau
Bonjour a tous
Je reviens vers vous car un nouveau probléme se pose a moi.
j'ai une macro qui m'ouvre un fichier modéle automatiquement quand je suis sur le poste serveur
Workbooks.Open Filename:= _
C:\BASES DEVIS\Base_clients2008"
Windows("Base_clients2008.xls").Visible = True
ActiveSheet.ShowDataForm
Range("L2").Select
Selection.Copy
Windows("DEVIS COMPLET1").Activate
Range("C19").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False[/COLOR]
quand je l'active a l'aide d'un bouton, ca marche sans problèmes!! Je veut mettre mes deux ordis en réseau et là Bug car le chemin d'accés n'est forcément plus le même car je suis sur le poste "secrétariat" et la macro recherche sur le C de ce poste.
Est-il possible de modifier cette macro afin qu'elle disE : si le fichier n'est pas trouvé sur le C , recherche sur le C:\direction\BASES DEVIS\Base_clients2008"
ou peut etre avez vous une autre solution a me proposer?
Merci d'avance a tous
 

skoobi

XLDnaute Barbatruc
Re : Condition "si "dans macros

Bonjour,

essaye avec la gestion d'erreur:

Code:
On Error Resume Next
Workbooks.Open Filename:= _
"C:\BASES DEVIS\Base_clients2008"
If Err.Number <> 0 Then
  Workbooks.Open Filename:= _
    "C:\direction\BASES DEVIS\Base_clients2008"
End If
On Error Goto 0
........
............
J'ai pas testé mais ça devrait le faire.
 

shadows31

XLDnaute Nouveau
merci a skooby

mercui de ta réponse en fait ca al'air de marcher mais aprés ca plante sur d'autres chemin d'accés je te file la macro en entier et si tu peut rectifie moi la car je vois que tu as compris le probléme
Sub IDENTITE()
'
' IDENTITE Macro
' Macro enregistrée le 04/10/2006 par
Range("C1").Select
ActiveCell.FormulaR1C1 = "=TODAY()"
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Application.CutCopyMode = False
On Error Resume Next
Workbooks.Open Filename:= _
"C:\BASES DEVIS\Base_clients2008"
If Err.Number <> 0 Then
Workbooks.Open Filename:= _
"C:\direction\BASES DEVIS\Base_clients2008"
End If
On Error GoTo 0

Windows("Base_clients2008.xls").Visible = True
ActiveSheet.ShowDataForm
Range("L2").Select
Selection.Copy
Windows("DEVIS COMPLET1").Activate
Range("C19").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False


Windows("Base_clients2008.xls").Activate
Application.CutCopyMode = False
ActiveWorkbook.Save
Windows("DEVIS COMPLET1").Activate



Temp = "C:\CUISINES ARTISANALES\DOSSIERS 2008\" & Range("C3").Value
ActiveWorkbook.SaveAs Filename:=Temp, FileFormat:=xlNormal, Password:="", WriteResPassword:="", ReadOnlyRecommended:=False, CreateBackup:=False
Sheets("CLIENT").Select

MsgBox " Enregistré dans DOSSIERS 2008 Sous nom " & Sheets("CLIENT").Range("C3").Value, vbOKOnly + vbInformation, Title:="Enregistrement"

Sheets("RECAP DEVIS").Select
Range("D26:Al26").Select
Selection.Copy
Windows("Base_clients2008.xls").Activate
Range("M1").Select
Range("M" & Range("M65536").End(xlUp)(2).Row).Select
ActiveSheet.Paste Link:=True
Application.CutCopyMode = False
ActiveWorkbook.Save
ActiveWindow.Close
Sheets("RECAP DEVIS").Select
Sheets("CLIENT").Select
ActiveSheet.Shapes("Button 56").Select
Selection.Cut
End Sub

merci de ton aide
 

skoobi

XLDnaute Barbatruc
Re : merci a skooby

Re bonjour,

pourquoi un nouveau message?
De plus, évite de sollicité une personne en particulier(dixit la charte du forum), ce n'est pas très sympa pour les autres membres du forum qui ce feront un plaisir de répondre aussi...
Et je ne suis pas toujours disponible...

mais aprés ca plante sur d'autres chemin d'accés

A quel endroit exactement?
 

shadows31

XLDnaute Nouveau
Re : merci a skooby

BONJOUR
un nouveau message parce que je sais pas trop comment répondre, je pense que c'est comme ça donc escuse de la maladresse.
pour en revenir a mon probleme en fait le code que tu m'as envoyé fonctionne mais ensuite la fenetre s'affiche pas et ça plante là :
Windows("Base_clients2008.xls").Visible = True
ActiveSheet.ShowDataForm
je pense que ca va planter aussi a chaque commande faisant ref a un dossier a cause du chemin d'accés modifié par le réseau.
Si toi ou quelqu'un paut m'aider ce serait pas mal pour moi
merci en attendant
 

skoobi

XLDnaute Barbatruc
Re : Condition "si "dans macros

Re bonjour,

merci Pascal!
Je ne savais pas que ça pouvais ce faire :cool:.

Bon après-midi :)

Edit:
pour en revenir a mon probleme en fait le code que tu m'as envoyé fonctionne mais ensuite la fenetre s'affiche pas et ça plante là :
Windows("Base_clients2008.xls").Visible = True

Vérifie la syntaxe exact du fichier indiqué dans la barre de titre (là ou tu ferme excel avec la croix).

je pense que ca va planter aussi a chaque commande faisant ref a un dossier a cause du chemin d'accés modifié par le réseau.

La commande "Windows" n'a besoin que du nom du fichier alors que "Workbooks.Open" a besoin du chemin complet ;)
 
Dernière édition:

shadows31

XLDnaute Nouveau
Re : Condition "si "dans macros

re bonjour
ca marche toujours pas bien qu'ayant verifié le nom du fichier , c'est a devenir fou, de plus qd j'ouvre le devis modele du poste direction, il se renomme a l'ouverture atomatiquement en devis complet1 et pas qd je l'ouvre de l'autre postea l'aide ceux qui peuvent!!
merci d'avance
 

Discussions similaires

Statistiques des forums

Discussions
312 229
Messages
2 086 426
Membres
103 206
dernier inscrit
diambote