chemin d'un fichier en réseau

  • Initiateur de la discussion ludi
  • Date de début
L

ludi

Guest
bonjour ,

je suis en train de créer une macro dans 1 fichier A qui envoie des valeur vers un fichier B qui n'apprtien pas au même document .
A et B sont tous deux sur le disque 2 sur un ser veur

pour écrire le chemin de B j'ai tapé:

chemin='K:\\document\\'
par la suite dans mon programme j'ai
Workbooks.Open(chemin&'B.xls') ???????

lorsque j'execute le programme le logiciel me dit qu'il ne trouve pas le fichier alors que le chemin qu'il ecrit est juste
(de plus il met en jaune la ligne ou j'ai mis les points d'interrogati
on

pourriez vous m'aider ou me conseiller sur un lien qui utilise cette commande

merci
bonne soirée à tous
 

Creepy

XLDnaute Accro
Hello,

Je suis tout à fait avec 2passage, que je salue au passage !
Je dirais même plus mon cher 2passage il manque le '\\' !!
:)

je dirais qy'il le manque aussi à cette ligne : chemin='K:document'
Faut mettre un beau : chemin='K:'\\'document'.
Allez @ +

Creepy (Dupond) et 2passage (Dupont)
:)

Message édité par: Creepy, à: 03/08/2005 22:15

Message édité par: Creepy, à: 03/08/2005 22:16
 

Dan

XLDnaute Barbatruc
Bonsoir Ludi, le forum,

Je suppose que ta demande est une suite ou variante de ce Ce lien n'existe plus.

Pour avoir le lien j'essaierais ceci :

1. ouvre ton fichier A
2. Vas dans menu / Outils / macro et choisis 'nouvelle macro'
3. ensuite ouvre ton fichier B et clique sur un onglet ou dans une cellule.
4. Stoppe ta macro
5. Ferme le fichier B sans sauvegarder
6. Ouvre ta macro dans le fichier A et tu auras le lien correct.

Cette procédure m'a permis autrefois de trouver le lien pour récupérer des données sur un serveur. J'espère qu'il en sera de même pour toi ici.

Dans l'attente de te lire

;)
 
L

ludi

Guest
bopnjour à tous
je vous remercie de m'aider vous etes vraiement sympa
mais malheurreusement ca ne marche toujours pas???
est ce ke quelqu'un aurrait une explication?

voila mon programme si vous avez 5 minute
merci par avance

Dim chemin As String
Dim Fichier As String
Dim vNomFichier As String


Fichier = ActiveWorkbook.Name
feuille = ActiveSheet.Name
chemin = ' K:''\\Facturations\\Factures'


i = 5
t = 0 'initialisation de la valeur de t '

While (Range('D' & i).Value <> '') 'tant kil y a quelque chose dans la cellule d de la ligne i faire '

If (Range('L' & i).Value = '') Then ' si la cellule k de la ligne i vaut RIEN faire'
If (Range('J' & i).Value = '') Then ' si aucun rappel n'a été effectué '
t = DateDiff('d', Range('I' & i).Value, Date) ' calcul de la différence de jours entre deux dates '
If (t > 50) Then
If Range('D' & i).Value <> '' Then
Msg = 'Le paiement de la facture ' & Range('D' & i).Value & vbCrLf & ' n'a pas été honoré. Souhaitez-vous proceder au rappel de facture?' 'un dialogue affiche le nom du doccier concerné'
Style = vbYesNo + vbQuestion
Title = 'Rappel Factures Impayées'
Response = MsgBox(Msg, Style, Title)
End If
If Response = vbYes Then
MyString = 'Oui'
Range('J' & i).Value = Date
'rappels_factures.OpenAsTextStream ([2]) 'ouverture du fichier avec possibilité d'ecrire dedans'
'if Workbooks('rappels_factures.xls')
Workbooks.Open (chemin & '\\RappelsFactures')
With Workbooks(Fichier).Sheets(feuille)
Range('H1').Value = Date 'met dans la case A1 du fichier rappel_facture la date'
Range('D12').Value = Range('A' & i).Value 'met dans la case D12 du fichier rappel_facture la valeur de la c ase A de la ligne étudiée du fichier récap facture'
Range('E12').Value = Range('B' & i).Value
Range('F12').Value = Range('C' & i).Value
Range('H21').Value = Range('I' & i).Value
Range('E22').Value = Range('G' & i).Value
Range('H11').Value = Range('F' & i).Value
Range('B15').Value = Range('D' & i).Value
vNomFichier = Trim(Range('D' & i).Value) 'Début de fonction permettant d'enregistrer la feuille ainsi crée sous le nom = valeur de la case D '
ActiveSheet.Copy
ActiveWorkbook.SaveAs Filename = vNomFichier ' fin de la fonction enregistrement '
End With
Else
MyString = 'Non'
End If
End If
Else: ' si un rappel a deja ete effectue faire:'
t = DateDiff('d', Range('J' & i).Value, Date) 'calcul de la différence de jours entre deux dates '
If (t > 50) Then
Msg = 'Le paiement de la facture n'a pas été honoré. Souhaitez-vous proceder au rappel de facture?'
Style = vbYesNo + vbQuestion
Title = 'Rappel Factures Impayées'
Response = MsgBox(Msg, Style, Title)
If Response = vbYes Then
MyString = 'Oui'
' création du deuxième rappel '
Range('J' & i).Value = Date
Else
MyString = 'Non'
End If
End If
End If

End If
i = i + 1

Wend

End Sub






:S
 

Dan

XLDnaute Barbatruc
Ludi,

Tu peux me dire à quelle instruction cela bloque dans cette macro.

Regarde voici le genre de code que j'ai lorsque je dois prendre ouvrir un fichier sur un autre serveur

Code:
ChDir 'F:\\repertoire du fichier'
Workbooks.Open Filename:='F:\\repertoire du fichier\\nom du document.extension'



;)

Message édité par: Dan, à: 04/08/2005 09:55
 

Pimple

XLDnaute Nouveau
'Lut,
essaye un en rajoutant l'extension de ton fichier dans la string:

workbooks.open Filename:= _
chemin & 'RapelsFactures.xls'
Windows('RapelsFactures.xls').activate

ça devrait marcher, fait gaffe de bien avoir mis tous les caractère comme \\ dans chemin.
voila
Pimple.
 
L

ludi

Guest
pimple,
soit j'ai pas bien compris ou il fallait que je mette les commandes que tu m'a sindique (ce qui est possible car je ne sais pas ou est le 'string') soit ca marche pas heelp me please
thinks
 

Dan

XLDnaute Barbatruc
Ludi,

Je n'ai vraiment pas l'impression que tu as essayé ce que je t'ai proposé avant ? :(

Sinon le nom chemin, ne manque - t - il pas un backslash après le K: ?

essaie ceci :

Code:
Dim chemin as string
chemin = 'K:\\FacturationsFactures\\' 
Workbooks.Open Filename:=chemin & 'RappelsFactures.xls'

avec
Facturationsfactures considéré comme un dossier.
RappelsFactures.xls --> le fichier

Message édité par: Dan, à: 04/08/2005 13:33
 

Pimple

XLDnaute Nouveau
Ludi,
dsl je m'exprime mal :unsure:
le string c ta chaine de caractère chemin
tu oublie de mettre les slash (je l'écrit dans le code sinon il ne s'affiche pas dans le forum) dans ta variable chemin,
essaye :
chemin = ' K:FacturationsFacturesslash'

si ça ne marche tjrs pas, evite de concatene dans l'appel du fichier. Donc tu créer une variable chemincomplet (par exemple)

dim chemincomplet as string
chemincomplet = chemin & 'RapelsFactures.xls'

(n'oublie pas l'extension du fichier excel)

workbooks.open Filename :=_
chemincomplet

si ça marche tjrs pas, je vois pas pour le moment.
 
L

ludi

Guest
tout d'abord merci à tous
, alors après multiples essaie j'arrive à ouvrir le bon fichier cependeant:
- au lieu de m'enregistrer le fichier créer sous la valeur de la case ( D&i)du fichier recapituatiffacturesEnvoyées iol me l'enregistre sous le NOM TRUE quelque soit i
- il ne m'envoie aucune valeur dans les cases ouhaites use le fichier RappelFact

Si vous avez la moindre idée d'ou pouirrait provenir ce problèlme tenait moi au courant SVP
merci par avance

voila mon programme
Sub affichageretardpaiement()
'
' affichageretardpaiement Macro
' Macro enregistrée le 02/08/2005 par ludi



Dim i As Integer 'i correspond à la ligne étudiée '
Dim Msg As Variant
Dim Style As Variant
Dim Title As Variant
Dim Response As Variant
Dim t As Integer ' t correpond à l'intervalla de temps pour les factures non payées entre le jour de création de la facture et le jour j'


Dim Fichier As String
Dim vNomFichier As String

Factures = ActiveWorkbook.Name
RappelFact = ActiveSheet.Name

Dim chemin As String ' ouverture d'une variable chemin'
chemin = 'K:\\Ludivine\\Facturations\\Factures\\' ' description du chemin '
Dim chemincomplet As String ' ouv varible chemincomplet '

chemincomplet = chemin & 'RappelFact.xls' ' decription chemin complet '

i = 5
t = 0 'initialisation de la valeur de t '

While (Range('D' & i).Value <> '') 'tant kil y a quelque chose dans la cellule d de la ligne i faire '

If (Range('L' & i).Value = '') Then ' si la cellule k de la ligne i vaut RIEN faire'
If (Range('J' & i).Value = '') Then ' si aucun rappel n'a été effectué '
t = DateDiff('d', Range('I' & i).Value, Date) ' calcul de la différence de jours entre deux dates '
If (t > 50) Then
If Range('D' & i).Value <> '' Then
Msg = 'Le paiement de la facture ' & Range('D' & i).Value & vbCrLf & ' n'a pas été honoré. Souhaitez-vous proceder au rappel de facture?' 'un dialogue affiche le nom du doccier concerné'
Style = vbYesNo + vbQuestion
Title = 'Rappel Factures Impayées'
Response = MsgBox(Msg, Style, Title)
End If
If Response = vbYes Then
MyString = 'Oui'
Range('J' & i).Value = Date
Workbooks.Open Filename:=chemincomplet ' Ca BUGGE A PARTIR DE LA!!!!!!'
Range('H1').Value = Date
Range('D12').Value = Range('A' & i).Value 'met dans la case D12 du fichier RappelFact la valeur de la c ase A de la ligne étudiée du fichier récap facture'
Range('E12').Value = Range('B' & i).Value
Range('F12').Value = Range('C' & i).Value
Range('H21').Value = Range('I' & i).Value
Range('E22').Value = Range('G' & i).Value
Range('H11').Value = Range('F' & i).Value
Range('B15').Value = Range('D' & i).Value
vNomFichier = Trim(Range('D' & i).Value) 'Début de fonction permettant d'enregistrer la feuille ainsi crée sous le nom = valeur de la case D '
ActiveSheet.Copy
ActiveWorkbook.SaveAs Filename = vNomFichier ' fin de la fonction enregistrement '
Else
MyString = 'Non'
End If
End If
Else: ' si un rappel a deja ete effectue faire:'
t = DateDiff('d', Range('J' & i).Value, Date) 'calcul de la différence de jours entre deux dates '
If (t > 50) Then
Msg = 'Le paiement de la facture n'a pas été honoré. Souhaitez-vous proceder au rappel de facture?'
Style = vbYesNo + vbQuestion
Title = 'Rappel Factures Impayées'
Response = MsgBox(Msg, Style, Title)
If Response = vbYes Then
MyString = 'Oui'
' création du deuxième rappel '
Range('J' & i).Value = Date
Else
MyString = 'Non'
End If
End If
End If

End If
i = i + 1

Wend

End Sub

:eek:
 

Discussions similaires

Statistiques des forums

Discussions
312 330
Messages
2 087 341
Membres
103 524
dernier inscrit
Smile1813