Probleme de chemin
Bonjour j'ai un souci de chemin dans une macro. J'utilise MAC 2011.
Sub Transfert_CT()
Dim LigneCible As Long, ligneOrigine As Long
Dim LigneFin As Long
Dim Données As Variant
Dim Nom As String
Dim Mois As String
Dim Trimestre As String
Dim Année As String
Dim Nbjoursmois As String
Dim Nbconges As String
Dim Nbformation As String
Dim Nbtrav As String
Dim Pointeur As Long
'Lecture des infos dans la fiche de saisie
Nom = ThisWorkbook.Worksheets("fiche_activite").Range("B3").Value
Mois = ThisWorkbook.Worksheets("fiche_activite").Range("E3").Value
Trimestre = ThisWorkbook.Worksheets("fiche_activite").Range("E4").Value
Année = ThisWorkbook.Worksheets("fiche_activite").Range("E5").Value
Nbjoursmois = ThisWorkbook.Worksheets("fiche_activite").Range("D6").Value
Nbconges = ThisWorkbook.Worksheets("fiche_activite").Range("D8").Value
Nbformation = ThisWorkbook.Worksheets("fiche_activite").Range("D10").Value
Nbtrav = ThisWorkbook.Worksheets("fiche_activite").Range("D12").Value
LigneFin = ThisWorkbook.Worksheets("fiche_activite").Range("A2000").End(xlUp).Row
Données = ThisWorkbook.Worksheets("fiche_activite").Range("A16:e" & LigneFin)
'Ecriture dans l'onglet Base de données BDD
' Le chemin sera à modifier en fonction de l'application
If Left(Dir("HD:Users:annedusart:Desktop:BDD.xls"), MacID("XLS ")) <> "BDD." Then
Workbooks.Add
Worksheets.Add
ActiveSheet.Name = "BDD"
Worksheets("BDD").Range("A1") = "Nom"
Worksheets("BDD").Range("B1") = "Mois"
Worksheets("BDD").Range("C1") = "Trimestre"
Worksheets("BDD").Range("D1") = "Année"
Worksheets("BDD").Range("E1") = "Nbjoursmois"
Worksheets("BDD").Range("F1") = "Nbconges"
Worksheets("BDD").Range("G1") = "Nbformation"
Worksheets("BDD").Range("H1") = "Nbtrav"
ThisWorkbook.Worksheets("fiche_activite").Range("A15:E15").Copy Destination:=Worksheets("BDD").Range("I1:M1")
ActiveWorkbook.SaveAs Filename:=CheminBdd & "BDD.xls"
Else
Workbooks.Open Filename:=CheminBdd & "BDD.xls"
End If
LigneCible = Workbooks("BDD.xls").Worksheets("BDD").Range("A65535").End(xlUp).Row + 1
Select Case Mois
Case "Janvier", "Février", "Mars"
Trimestre = "T1"
Case "Avril", "Mai", "Juin"
Trimestre = "T2"
Case "Juillet", "Aoüt", "Septembre"
Trimestre = "T3"
Case "Octobre", "Novembre", "Décembre"
Trimestre = "T4"
End Select
' Boucle répétitive pour le nom
For Pointeur = LigneCible To LigneCible + UBound(Données) - 1
Range("BDD!A" & Pointeur) = Année
Range("BDD!B" & Pointeur) = Trimestre
Range("BDD!C" & Pointeur) = Mois
Range("BDD!D" & Pointeur) = Nom
Range("BDD!E" & Pointeur) = Nbjoursmois
Range("BDD!F" & Pointeur) = Nbconges
Range("BDD!G" & Pointeur) = Nbformation
Range("BDD!H" & Pointeur) = Nbtrav
Next Pointeur
'Copie globale de la zone saisie
Workbooks("BDD.xls").Worksheets("BDD").Range("I" & LigneCible & ":M" & LigneCible + UBound(Données) - 1) = Données
Workbooks("BDD.xls").Close True
End SubJ'ai une erreur ici
If Left(Dir("HD:Users:annedusart:Desktop:BDD.xls"), MacID("XLS ")) <> "BDD." Then
étant débutante merci de me conseiller au mieux
Bonjour
A tout hasard
Il ne manque pas un paramètre pour la fonction Left(Chaîne_de_caractères,Longueur) ?
Les parenthèses pas au bon endroits
If Left(Dir("HD:Users:annedusart:Desktop:BDD.xls", MacID("XLS ")), 4) <> "BDD." ThenMerci Banzai64,
J'ai changé le code comme tu me la préciser mais sans succès.
Il me mets chemin d'accès introuvable.
Est ce que je peux tester le chemin du autre manière avec une macro plus simple 'pour moi'.
Merci
vivi
Bonjour
Désolé , je ne peux pas te répondre n'ayant pas de Mac
Sous windows
Sub test()
If Left(Dir("C:\Users\annedusart\Desktop\BDD.xls"), 4) <> "BDD." Then
MsgBox "pas de fichier"
End If
End SubBonsoir Vivi21000, Banzai, le forum,
A tout hasard, n'ayant pas non plus de MAC, mais comme j'ai vu que la base s'appelle BDD sans point
If Left(Dir("C:\Users\annedusart\Desktop\BDD.xls"), 4) <> "BDD." Thenne faudrait-il pas marquer BDD (sans point) au lieu de BDD. (avec point) ?
Cordialement
Joseph
La solution est
if Left(Dir("MACINTOSH HD:USERS:anne:Desktop:BDD.xls", MacID("XLS5")), 4) <> "BDD."C'est bon cela fonctionne pour cette partie. Maintenant je traite une autre partie plus complexe pour moi.
merci encore pour votre aide