begin process at 2012 05 29 01:44:19
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Visual Basic 6

 > 

Langages dérivés

 > 

VBA

 > 

Comment changer les chemins et les liaisons en modifiant le nom du dossier maitre ?


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Comment changer les chemins et les liaisons en modifiant le nom du dossier maitre ?

dimanche 17 janvier 2010 à 09:12:15 | Comment changer les chemins et les liaisons en modifiant le nom du dossier maitre ?

SNOOPIX

Bonjour,
Bonne et heureuse année à toutes et à tous !

Nouveau parmi vous, c'est ma première question !
Et je n'ai pas trouve le thème EXCEL VBA ...

A force de vous lire, et avec les multiples exemples et solutions données, j'ai pu me créer via Excel 2007 des automatisations et liaisons qui ont pour but de simplifier ma gestion immobilière privée.

Il y a un dossier "maitre" celui qui renferme tous les autres.
Son nom : 2009

Pour l'année 2010, je pensais dupliquer mon dossier 2009, puis le renommer 2010 ... afin de pouvoir consulter et travailler avec le vieux (2009) et le nouveau 2010.

Bien entendu, toutes les liaisons et toutes les formules ne fonctionnerons plus, si le nom du dossier maitre varie.

Il y a trop de liens et formules pour que je puisse tout modifier à la main sans en oublier ...

Auriez vous une solution à me soumettre ?

dimanche 17 janvier 2010 à 10:38:29 | Re : Comment changer les chemins et les liaisons en modifiant le nom du dossier maitre ?

cracos30

Membre Club
Salut
Fonction Rechercher/Remplacer dans feuille ou code.(rechercher :"2009">>>remplacer>>>"2010"
dimanche 17 janvier 2010 à 11:19:29 | Re : Comment changer les chemins et les liaisons en modifiant le nom du dossier maitre ?

ucfoutu

Membre Club

Bonjour,

Bien entendu, toutes les liaisons et toutes les formules ne fonctionnerons plus, si le nom du dossier maitre varie.

Il y a trop de liens et formules pour que je puisse tout modifier à la main sans en oublier ...


Comment (exemples) sont exprimés tes liens et formules ?
Tout dépend de ta réponse
J'entrevois par exemple l'utilisation d'une variable en leur sein (voire d'une cellule dédiée), ce qui ne te conduirait qu'à une seule modification, qui pourrait même être faite dynamiquement au moment de la copie d'un classeur vers un nouveau classeur. Voire enfin tout simplement une variable dont le contenu serait selon le cas tout ou partie du nom du classeur)
____________________
Très intéressante fable, L'OISELEUR, L'AUTOUR ET L'ALOUETTE !
Cliquer sur "Réponse acceptée" (en bas d'une solution avérée adéquate) rendra service à d'autres. PENSEZ-Y.
dimanche 17 janvier 2010 à 15:13:50 | Re : Comment changer les chemins et les liaisons en modifiant le nom du dossier maitre ?

SNOOPIX

Salut
Fonction Rechercher/Remplacer dans feuille ou code.(rechercher :"2009">>>remplacer>>>"2010"



Oui, MERCI, en effet, et en l'absence de toute automatisation, ce serait le moins fastidieux !
Je ne savais pas que c'était possible dans le code ! Re merci
dimanche 17 janvier 2010 à 15:57:22 | Re : Comment changer les chemins et les liaisons en modifiant le nom du dossier maitre ?

SNOOPIX

Comment (exemples) sont exprimés tes liens et formules ?
Tout dépend de ta réponse



MERCI pour ton intérêt.

Pour 80% ce sont des liaisons de classeur à classeurs soumises à conditions de ce type, voir plus longues :(car plus de conditions à remplir)
=SI($A6=C$4;$Y6;('X:\2009\INDIVISION\[INDIVISION 1.xlsm]LOYERS CHARGES'!B$18))

Pour le reste, des formules (code) du type :
Là pour incrémenter et enregistrer un honoraire dans lo dossier Honoraires :

Workbooks.Open Filename:="X:\2009\HONORAIRES 2009\A"
Sheets("Facturation").Select
Sheets("Facturation").Range("C16").Select
ActiveCell.FormulaR1C1 = "='[INDIVISION 1.xlsm]FICHE LOCATAIRE'!R42C8"
Sheets("Facturation").Range("C18:G18").Select
ActiveCell.FormulaR1C1 = "='[INDIVISION 1.xlsm]FICHE LOCATAIRE'!R13C3:R13C6"
Sheets("Facturation").Range("C20:G20").Select
ActiveCell.FormulaR1C1 = "='[INDIVISION 1.xlsm]FICHE LOCATAIRE'!R21C3:R21C6"
Sheets("Facturation").Range("C22:G22").Select
ActiveCell.FormulaR1C1 = "='[INDIVISION 1.xlsm]FICHE LOCATAIRE'!R29C3:R29C6"
Sheets("Facturation").Range("D25:F25").Select
ActiveCell.FormulaR1C1 = "='[INDIVISION 1.xlsm]FICHE LOCATAIRE'!R42C4"
Sheets("Facturation").Range("D26").Select
Sheets("HONORAIRES DE MISE EN LOCATION").Select
Sheets("HONORAIRES DE MISE EN LOCATION").Range("L12").Select

Il y a aussi, une liste déroulante sur 2 colonnes pour repérer et ouvrir le classeur de chaque locataires :
La liste est très longue car pour chaque lot, je le duplique trois fois, car celà me laisse la possibilité de gérer dans le cas de trois changements de locataire dans la même année, du coup ça fait des lignes et des lignes ...
Exemple pour deux lots non assignés :

X:\2009\SCI ANDLAU\ANDLAU 1b ANDLAU 1b
X:\2009\SCI ANDLAU\ANDLAU 1c ANDLAU 1c
X:\2009\SCI HELROT\ANVERS 1b ANVERS 1b
X:\2009\SCI HELROT\ANVERS 1c ANVERS 1c
X:\2009\ANVERS 39\ANVERS 39b ANVERS 39b
X:\2009\ANVERS 39\ANVERS 39c ANVERS 39c

Là, c'est une macro qui ouvre plusieurs classeurs, pour forcer à rafraichir les nombreuses liaisons qui ne ce mettent pas à jour sans ... (d'ailleurs je n'ai jamais compris pourquoi ...)
Il y en a plus, là je n'ai qu'un exemple :

Private Sub CommandButton2_Click()

Application.ScreenUpdating = False

Workbooks.Open Filename:="X:\2009\INDIVISION\MAISON INDIVISION"
Sheets("LOYERS INDIVISION").Select
Workbooks("MAISON INDIVISION").Close SaveChanges = False

Workbooks.Open Filename:="X:\2009\NOUVELLE VEAUX\MAISON NOUVELLE VEAUX"
Sheets("LOYERS NV").Select
Workbooks("MAISON NOUVELLE VEAUX").Close SaveChanges = False

Workbooks.Open Filename:="X:\2009\SCI ANDLAU\MAISON ANDLAU"
Sheets("LOYERS ANDLAU").Select
Workbooks("MAISON ANDLAU").Close SaveChanges = False

Application.ScreenUpdating = True


End Sub


Pour finir, il y a bien sur les fameux liens hypertexte, mais là ... je crois qu'il faudra le faire manuellement ...

N'ayant pas une vu d'ensemble du fonctionnement des macros et du code, (débutant oblige) mes applications n'ont vu le jour, qu'au travers d'exemples trouvé sur le site. De ce fait il est certain que l'ensemble manque d'optimisation !
Mais cela tourne malgré quelques lourdeurs par moment ...

Voici donc un panel, des situations recommandant une modification de 2009 vers 2010 ...

Si tu peux mieux cerné le problème

Pour finir, 2009 est un dossier dans lequel sont réunis tous les dossiers nécessaires au bon fonctionnement de l'ensemble.
Toutes les liaisons entre classeur, les fonctions de recherches, les documents textes, les classeurs de calcul etc ...
lundi 18 janvier 2010 à 19:43:40 | Re : Comment changer les chemins et les liaisons en modifiant le nom du dossier maitre ?

SNOOPIX

J'ai trouvé ce code :
ici : http://www.excelabo.net/trucs/rechercher_remplacer

sub Remplacer()
'Hervé, mpfe
Dim Classeur As Workbook
Dim Module As Object
Dim Rechercher As String
Dim Remplacer As String
Dim Trouver As Integer
Dim I As Integer

'Le module où se trouve cette proc
'doit s'appeler "ModuleDeMiseAJour" afin qu'aucune modif ne soit faite
'dans cette proc
Rechercher = "MonMotQueJeN'aimePlus"
Remplacer = "MonMotQueJ'aime"
For Each Classeur In Workbooks
For Each Module In Classeur.VBProject.VBComponents
With Module.CodeModule
If Module.Name <> "ModuleDeMiseAJour" Then
For I = 1 To .CountOfLines
Trouver = InStr(.Lines(I, 1), Rechercher)
If Trouver > 0 Then
'si une occurrence est trouvée, fait la modif et boucle
'sur la ligne afin de remplacer tous les mots
Do
.ReplaceLine I, Left(.Lines(I, 1) _
, Trouver - 1) & Remplacer & _
Mid(.Lines(I, 1), _
Trouver + Len(Rechercher) _
, Len(.Lines(I, 1)))
Trouver = InStr(Trouver + 1, _
.Lines(I, 1), Rechercher)
Loop While Trouver <> 0
End If
Next I
End If
End With
Next Module
Next Classeur
Set Classeur = Nothing
Set Module = Nothing
end sub

Mais n'arrive pas à le mettre en œuvre, de plus il ne fonctionne que sur les classeurs ouverts.
Il me faudrait faire une macro pour les ouvrir tous, puis les refermer à la fin. (ça c'est dans mes possibilité !)


Cette discussion est classée dans : dossier, changer, chemins, maitre, liaisons


Répondre à ce message

Sujets en rapport avec ce message

Changer les autorisations sur un dossier [ par rivierem ] SalutJe voudrais savoir comment changer les autorisations sur des Dossiers NTFS en VBL'Os est Windows2000Merci Probleme de chemins de bibliotheques en ACCESS [ par cancolegnako ] BonjourJe construit actuellement une application en access qui doit en principe pouvoir fonctionner sur d'autres ordinateurs.Evidemment quand je la la changer dossier FTP [ par patrickrgn ] Bonjour,Est-ce que que quelqu'un sait comment changer de dossier (monter et descendre) sur un serveur FTP.Merci d'avancePatrick Changer nom artiste des musique d'un dossier [ par maxredphenix ] Bonjour a tous,Je voulais savoir s'il existe un logiciel capable de gérer les dossiers et sous dossiers de musiques pour changer le nom de l'artiste e changer la date d'un dossier [ par papipsycho ] Bonjour a tous voila m'a question comment changer la date d'un dossier ? j'ai deja tester cette api SetFileTime mais elle ne marche pas avec un dossie Probleme avec les répertoires et les chemins [ par TRASH52 ] TRASH52Je voudrais savoir comment faire pour remonter l'arborescence d'un fichier!Pour entrer dans un dossier je me sers de chdir(nom_dossier) Comment changer l'icone d'un dossier [ par Phil72000 ] Bonjour,Quelqu'un sait-il comment changer l'icone standard d'un dossier par une icone personnalisée, en VB.NET ?Merci comment changer l'icone standard [ par Phil72000 ] Bonjour,Quelqu'un sait-il comment changer l'icone standard d'un dossier par une icone personnalisée, en VB.NET ?Merci Copie de dossier [ par jimy neutron ] Bonsoir,Quelqu'un connaitrait-il comment copier un dossier (folder) d'un disk à un autre, sans se soucier du contenu. (donc, pas de copie de fichier p


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,296 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales