J'utilise un dossier excel comportant 150 feuilles li=E9s =E0=20
des requ=EAtes SQL suivantes :
SELECT REC.DECR, REC.CIDB, REC.MVTS, REC.NUMC, REC.LIBE,=20
REC.NUMP, REC.CRED, REC.JOUR, REC.DEBI
FROM `C:\Access\Comptabilit=E9\DATA_COMPTA`.REC REC
WHERE (REC.CIDB=3D'MAD300')
Je souhaite changer le nom de la base source
Y'a t'il une proc=E9dure rapide qui puisse m'=E9viter=20
d'ouvrir chaque feuille pour remplacer :
C:\Access\Comptabilit=E9 par
\\serveur\d\Fichiers_Access\Comptabilit=E9
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Denis Michon
Bonjour Michel,
Si je comprends ton problème, tu veux modifier le texte de tes requêtes dans les modules :
Tu ajoutes un nouveau module standard à ton projet et tu copies la procédure suivante, le temps de faire tourner cette macro. Cela est pour éviter que la macro modifie le texte de sa propre macro.
Dans la procédure suivante : tu dois déterminer 3 choses :
A ) ChaineRecherchée = A déterminer B ) ChaineRemplace = A déterminer
C ) dans cette ligne de code : If Module.Name <> "Module1" Then remplace "Module1" par le nom du module où tu aura copié cette procédure.
Attention : Assure-toi d'avoir une sauvegarde de ton fichier avant de lancer cette procédure !
'----------------------------------------- Sub ChangeChemin()
Dim ChaineRecherchée As String Dim ChaineRemplace As String Dim Trouver As Integer Dim I As Integer Dim Module As Object
For Each Module In ActiveWorkbook.VBProject.VBComponents With Module.CodeModule 'Si le module ou est mis cette proc se nomme "Module1" If Module.Name <> "Module1" Then For I = .CountOfLines To 1 Step -1 Trouver = InStr(.Lines(I, 1), ChaineRecherchée) If Trouver <> 0 Then .ReplaceLine I, Left(.Lines(I, 1) _ , Trouver - 1) & ChaineRemplace & _ Mid(.Lines(I, 1), Trouver + Len(ChaineRecherchée) _ , Len(.Lines(I, 1))) End If Next I End If End With Next Set Module = Nothing End Sub '-----------------------------------------
Salutations!
"Michel" a écrit dans le message de news:08aa01c39567$a97fa1f0$ J'utilise un dossier excel comportant 150 feuilles liés à des requêtes SQL suivantes :
SELECT REC.DECR, REC.CIDB, REC.MVTS, REC.NUMC, REC.LIBE, REC.NUMP, REC.CRED, REC.JOUR, REC.DEBI FROM `C:AccessComptabilitéDATA_COMPTA`.REC REC WHERE (REC.CIDB='MAD300')
Je souhaite changer le nom de la base source
Y'a t'il une procédure rapide qui puisse m'éviter d'ouvrir chaque feuille pour remplacer : C:AccessComptabilité par serveurdFichiers_AccessComptabilité
Merci de m'aider
Michel
Bonjour Michel,
Si je comprends ton problème, tu veux modifier le texte de tes requêtes dans les modules :
Tu ajoutes un nouveau module standard à ton projet et tu copies la procédure suivante, le temps de faire tourner cette
macro.
Cela est pour éviter que la macro modifie le texte de sa propre macro.
Dans la procédure suivante : tu dois déterminer 3 choses :
A ) ChaineRecherchée = A déterminer
B ) ChaineRemplace = A déterminer
C ) dans cette ligne de code :
If Module.Name <> "Module1" Then
remplace "Module1" par le nom du module où tu aura copié cette procédure.
Attention : Assure-toi d'avoir une sauvegarde de ton fichier avant de lancer cette procédure !
'-----------------------------------------
Sub ChangeChemin()
Dim ChaineRecherchée As String
Dim ChaineRemplace As String
Dim Trouver As Integer
Dim I As Integer
Dim Module As Object
For Each Module In ActiveWorkbook.VBProject.VBComponents
With Module.CodeModule
'Si le module ou est mis cette proc se nomme "Module1"
If Module.Name <> "Module1" Then
For I = .CountOfLines To 1 Step -1
Trouver = InStr(.Lines(I, 1), ChaineRecherchée)
If Trouver <> 0 Then
.ReplaceLine I, Left(.Lines(I, 1) _
, Trouver - 1) & ChaineRemplace & _
Mid(.Lines(I, 1), Trouver + Len(ChaineRecherchée) _
, Len(.Lines(I, 1)))
End If
Next I
End If
End With
Next
Set Module = Nothing
End Sub
'-----------------------------------------
Salutations!
"Michel" <mic.joubert@wanadoo.fr> a écrit dans le message de news:08aa01c39567$a97fa1f0$a101280a@phx.gbl...
J'utilise un dossier excel comportant 150 feuilles liés à
des requêtes SQL suivantes :
SELECT REC.DECR, REC.CIDB, REC.MVTS, REC.NUMC, REC.LIBE,
REC.NUMP, REC.CRED, REC.JOUR, REC.DEBI
FROM `C:AccessComptabilitéDATA_COMPTA`.REC REC
WHERE (REC.CIDB='MAD300')
Je souhaite changer le nom de la base source
Y'a t'il une procédure rapide qui puisse m'éviter
d'ouvrir chaque feuille pour remplacer :
C:AccessComptabilité par
\serveurdFichiers_AccessComptabilité
Si je comprends ton problème, tu veux modifier le texte de tes requêtes dans les modules :
Tu ajoutes un nouveau module standard à ton projet et tu copies la procédure suivante, le temps de faire tourner cette macro. Cela est pour éviter que la macro modifie le texte de sa propre macro.
Dans la procédure suivante : tu dois déterminer 3 choses :
A ) ChaineRecherchée = A déterminer B ) ChaineRemplace = A déterminer
C ) dans cette ligne de code : If Module.Name <> "Module1" Then remplace "Module1" par le nom du module où tu aura copié cette procédure.
Attention : Assure-toi d'avoir une sauvegarde de ton fichier avant de lancer cette procédure !
'----------------------------------------- Sub ChangeChemin()
Dim ChaineRecherchée As String Dim ChaineRemplace As String Dim Trouver As Integer Dim I As Integer Dim Module As Object
For Each Module In ActiveWorkbook.VBProject.VBComponents With Module.CodeModule 'Si le module ou est mis cette proc se nomme "Module1" If Module.Name <> "Module1" Then For I = .CountOfLines To 1 Step -1 Trouver = InStr(.Lines(I, 1), ChaineRecherchée) If Trouver <> 0 Then .ReplaceLine I, Left(.Lines(I, 1) _ , Trouver - 1) & ChaineRemplace & _ Mid(.Lines(I, 1), Trouver + Len(ChaineRecherchée) _ , Len(.Lines(I, 1))) End If Next I End If End With Next Set Module = Nothing End Sub '-----------------------------------------
Salutations!
"Michel" a écrit dans le message de news:08aa01c39567$a97fa1f0$ J'utilise un dossier excel comportant 150 feuilles liés à des requêtes SQL suivantes :
SELECT REC.DECR, REC.CIDB, REC.MVTS, REC.NUMC, REC.LIBE, REC.NUMP, REC.CRED, REC.JOUR, REC.DEBI FROM `C:AccessComptabilitéDATA_COMPTA`.REC REC WHERE (REC.CIDB='MAD300')
Je souhaite changer le nom de la base source
Y'a t'il une procédure rapide qui puisse m'éviter d'ouvrir chaque feuille pour remplacer : C:AccessComptabilité par serveurdFichiers_AccessComptabilité