Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Excel > Macros et VBA Excel
Macros et VBA Excel Vos questions relatives aux macros Excel, à l'utilisation de VBA et à l'automatisation de vos classeurs Excel.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
Vieux 03/02/2010, 23h55   #1 (permalink)
Membre Confirmé
 
Date d'inscription: juin 2008
Messages: 217
Par défaut Verification vba de Linksource

Bonjour,
voici mon code pour pouvoir, par macro, affecter un fichier different pour mettre a jour mon fichier actuel !
Code :
Code :
Sub DETAILCHEMIN()
 
Dim ancienlien As String
Dim newlien As String
Dim fichier As FileDialog
 
 Set fichier = Application.FileDialog(msoFileDialogFilePicker)
fichier.Show
 MsgBox fichier.SelectedItems(1)
Range("a22").Select
    ActiveCell.FormulaR1C1 = fichier.SelectedItems(1)
    
    ancienlien = "" & Range("a23").Value & ""
    newlien = "" & Range("a22").Value & ""
   If Range("a23") = "" Then
      Range("a22").Copy Range("a23")
      
ElseIf ancienlien <> newlien Then
     ActiveWorkbook.ChangeLink ancienlien, newlien, Type:=xlExcelLinks
    Else
    Exit Sub
End If
    Range("a22").Copy Range("a23")
    End Sub
actuellement, je renseigne le chemin a utiliser en cell A22,
j'en fait une copie sur A23
et lorsque A22 est different de A23 alors le procesus de mise ajour ce fait..

ceci fonctionne tres bien...
sauf que lorsque je deplace le dossier dans lequel se trouve mon fichier,
si mon fichier etait dans "mes documents" et que je le deplace sur le bureau
par exemple,
comme le code du changement de liaison on utilise la fonction qui dit
de remplacer l'ancien lien par le nouveau, seulement,
l'ancien lien n'est plus valide, puisque mon dossier est sur le bureau alors qu'il etait dans "mes document" du coup, la procedure ne va pas au bout...
il faaudrait je pense un code qui fasse un "update" des lien sans prendre en compte l'ancien lien..
je ne sais pas comment faire...
de plus je n'aurais donc plus a comparer si les liens sont differents ou pas,
j'aurais juste a dire de faire une mise a jour des liens sur un nouveau chemin..
avez vous une idée de la structure a utiliser...??

Mille Merci !
djoumusic est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 04/02/2010, 07h23   #2 (permalink)
Expert Confirmé
 
Avatar de Qwazerty
 
Date d'inscription: avril 2002
Localisation: (03) - Allier - Chez les fous ^^
Âge: 29
Messages: 1 533
Envoyer un message via MSN à Qwazerty
Par défaut

Salut
Je n'ai pas tout compris a ton explication de lien, mais dans ton code 2/3 truc m'interpelle
Tu ne test pas le retour fait par FileDialog

Code :
Range("a22").Select
    ActiveCell.FormulaR1C1 = fichier.SelectedItems(1)
mieux vaut faire
Code :
Range("a22").FormulaR1C1 = fichier.SelectedItems(1)
Code :
ancienlien = "" & Range("a23").Value & ""
les guillemet au début et a la fin ne rajouter rien au début et a la fin, si tu veut rajouter des " autour de ton text il faut faire ainsi

Code :
ancienlien = """" & Range("a23").Value & """"
a++
Qwaz
__________________

MagicQwaz := Harry Potter la baguette en moins
Le méchant Qwaz sur Msn ... inutile de me rajouter sur msn pour que je fasse votre boulot (les concernés sont au courant, les autres relax )
Le monde dans lequel on vit
HammerFest
Score PowerBall Gyroscope Green : 11847
Qwazerty est déconnecté   Envoyer un message privé Réponse avec citation
NEWS EXCELF.A.Q EXCELTUTORIELS EXCELSOURCES EXCELOUTILS EXCELLIVRES EXCELOFFICE 2010

Réponse Proposer ce sujet en actualité

Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Excel > Macros et VBA Excel



Outils de la discussion

Règles de messages
Vous ne pouvez pas créer de nouvelles discussions
Vous ne pouvez pas envoyer des réponses
Vous ne pouvez pas envoyer des pièces jointes
Vous ne pouvez pas modifier vos messages

Les balises BB sont activées : oui
Les smileys sont activés : oui
La balise [IMG] est activée : oui
Le code HTML peut être employé : non
Trackbacks are non
Pingbacks are non
Refbacks are non



Fuseau horaire GMT +1. Il est actuellement 04h17.


Vos questions techniques : forum d'entraide Excel - Publiez vos articles, tutoriels et cours
et rejoignez-nous dans l'équipe de rédaction du club d'entraide des développeurs francophones
Nous contacter - Hébergement - Participez - Copyright © 2000-2010 www.developpez.com - Legal informations.