Modifier code VBA en VBA?

Le
Lionel
Bonjour,
J'aurai besoin de la lumiere de tous ceux qui peuvent m'aider. Est il
possible en VBA de modifier un code vba? en plus simple il y a un test de
date dans le code
si la date est passee demande d'un mot de passe si ok modification de la
dite date. Possible ou fiction??

Merci a tous de votre aide
Lionel
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Lionel
Le #18701091
Merci
Je suppose que si la chaine est dans thisworkbook j'ai juste a changer
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

par ???

Merci encore....


"michdenis" news:
Pour ajouter 100 jours à la date d'aujourd'hui
an / mois/jour
y = DateSerial(2009, 2, 18 + 100)



"Lionel"

discussion :
499bd957$0$18361$
Merci Beaucoup....

Juste une petit détail
je patauge dans mes variables et leur traitement
je me plante surement avec datevalue...
Je voudrais rajouter 100 jours à la date qui sera remplacée et


quelquechose
m'echappe...
Encore une petite aide STP....

Merci
Lionel
"michdenis" news:%23fvOA$
> Oui c'est possible :
>
> Cette procédure va scanner tout ton code et va
> remplacer la chaîne de caractère que tu lui demandes
> par la nouvelle
>
> Tu fais ton test sur la date avec mot de passe
> (ici on ne parle pas de projet vba verrouillé) avant
> de lancer la 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
>
> '*************À renseigner*************
> ChaineRecherchée = "C:Mon DossierMa Base.mdb"
> ChaineRemplace = "D:Mon Autre DossierMa Base.mdb"
> '************************************
>
> 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
> '-------------------------------------
>
>
>
> "Lionel" discussion :
> 499b4308$0$4089$
> Bonjour,
> J'aurai besoin de la lumiere de tous ceux qui peuvent m'aider.... Est il
> possible en VBA de modifier un code vba? en plus simple il y a un test


de
> date dans le code
> si la date est passee demande d'un mot de passe si ok modification de la
> dite date.... Possible ou fiction??
>
> Merci a tous de votre aide
> Lionel
>


Lionel
Le #18701841
Merci je vais tenter de me debrouiller avec tout ca....
En cas de pb je sais vers qui me tourner ...
Merci encore de ce temps consacre a m'aider
Lionel
"michdenis" news:
Si tu dois remplacer seulement dans le ThisWorkbook :
Évidemment ton code doit être dans un autre module.
'-------------------------
Sub ChangeChemin()

Dim ChaineRecherchée As String
Dim ChaineRemplace As String
Dim Trouver As Integer
Dim I As Integer, Texte As String
Dim Module As Object

'*************À renseigner*************
ChaineRecherchée = "DateSerial(2009, 2, 20)"
ChaineRemplace = "DateSerial(2009, 5, 20)"
'************************************
On Error Resume Next
With ThisWorkbook.VBProject.VBComponents("ThisWorkbook").CodeModule
Texte = .Lines(1, .CountOfLines)
If InStr(1, Texte, ChaineRecherchée, vbTextCompare) <> 0 Then
Texte = Replace(Texte, ChaineRecherchée, ChaineRemplace)
.DeleteLines 1, .CountOfLines
.AddFromString Texte
End If
End With
Set Module = Nothing
End Sub
'-------------------------



"Lionel"

discussion :
499c07e3$0$4098$
Merci
Je suppose que si la chaine est dans thisworkbook j'ai juste a changer
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

par ???

Merci encore....


"michdenis" news:
> Pour ajouter 100 jours à la date d'aujourd'hui
> an / mois/jour
> y = DateSerial(2009, 2, 18 + 100)
>
>
>
> "Lionel" discussion :
> 499bd957$0$18361$
> Merci Beaucoup....
>
> Juste une petit détail
> je patauge dans mes variables et leur traitement
> je me plante surement avec datevalue...
> Je voudrais rajouter 100 jours à la date qui sera remplacée et
quelquechose
> m'echappe...
> Encore une petite aide STP....
>
> Merci
> Lionel
> "michdenis" > news:%23fvOA$
> > Oui c'est possible :
> >
> > Cette procédure va scanner tout ton code et va
> > remplacer la chaîne de caractère que tu lui demandes
> > par la nouvelle
> >
> > Tu fais ton test sur la date avec mot de passe
> > (ici on ne parle pas de projet vba verrouillé) avant
> > de lancer la 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
> >
> > '*************À renseigner*************
> > ChaineRecherchée = "C:Mon DossierMa Base.mdb"
> > ChaineRemplace = "D:Mon Autre DossierMa Base.mdb"
> > '************************************
> >
> > 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
> > '-------------------------------------
> >
> >
> >
> > "Lionel" > discussion :
> > 499b4308$0$4089$
> > Bonjour,
> > J'aurai besoin de la lumiere de tous ceux qui peuvent m'aider.... Est


il
> > possible en VBA de modifier un code vba? en plus simple il y a un test
de
> > date dans le code
> > si la date est passee demande d'un mot de passe si ok modification de


la
> > dite date.... Possible ou fiction??
> >
> > Merci a tous de votre aide
> > Lionel
> >


michdenis
Le #18697521
Oui c'est possible :

Cette procédure va scanner tout ton code et va
remplacer la chaîne de caractère que tu lui demandes
par la nouvelle

Tu fais ton test sur la date avec mot de passe
(ici on ne parle pas de projet vba verrouillé) avant
de lancer la 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

'*************À renseigner*************
ChaineRecherchée = "C:Mon DossierMa Base.mdb"
ChaineRemplace = "D:Mon Autre DossierMa Base.mdb"
'************************************

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
'-------------------------------------



"Lionel" 499b4308$0$4089$
Bonjour,
J'aurai besoin de la lumiere de tous ceux qui peuvent m'aider.... Est il
possible en VBA de modifier un code vba? en plus simple il y a un test de
date dans le code
si la date est passee demande d'un mot de passe si ok modification de la
dite date.... Possible ou fiction??

Merci a tous de votre aide
Lionel
Lionel
Le #18699291
Merci Beaucoup....

Juste une petit détail
je patauge dans mes variables et leur traitement
je me plante surement avec datevalue...
Je voudrais rajouter 100 jours à la date qui sera remplacée et quelquechose
m'echappe...
Encore une petite aide STP....

Merci
Lionel
"michdenis" news:%23fvOA$
Oui c'est possible :

Cette procédure va scanner tout ton code et va
remplacer la chaîne de caractère que tu lui demandes
par la nouvelle

Tu fais ton test sur la date avec mot de passe
(ici on ne parle pas de projet vba verrouillé) avant
de lancer la 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

'*************À renseigner*************
ChaineRecherchée = "C:Mon DossierMa Base.mdb"
ChaineRemplace = "D:Mon Autre DossierMa Base.mdb"
'************************************

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
'-------------------------------------



"Lionel"

discussion :
499b4308$0$4089$
Bonjour,
J'aurai besoin de la lumiere de tous ceux qui peuvent m'aider.... Est il
possible en VBA de modifier un code vba? en plus simple il y a un test de
date dans le code
si la date est passee demande d'un mot de passe si ok modification de la
dite date.... Possible ou fiction??

Merci a tous de votre aide
Lionel



michdenis
Le #18700411
Pour ajouter 100 jours à la date d'aujourd'hui
an / mois/jour
y = DateSerial(2009, 2, 18 + 100)



"Lionel" 499bd957$0$18361$
Merci Beaucoup....

Juste une petit détail
je patauge dans mes variables et leur traitement
je me plante surement avec datevalue...
Je voudrais rajouter 100 jours à la date qui sera remplacée et quelquechose
m'echappe...
Encore une petite aide STP....

Merci
Lionel
"michdenis" news:%23fvOA$
Oui c'est possible :

Cette procédure va scanner tout ton code et va
remplacer la chaîne de caractère que tu lui demandes
par la nouvelle

Tu fais ton test sur la date avec mot de passe
(ici on ne parle pas de projet vba verrouillé) avant
de lancer la 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

'*************À renseigner*************
ChaineRecherchée = "C:Mon DossierMa Base.mdb"
ChaineRemplace = "D:Mon Autre DossierMa Base.mdb"
'************************************

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
'-------------------------------------



"Lionel"

discussion :
499b4308$0$4089$
Bonjour,
J'aurai besoin de la lumiere de tous ceux qui peuvent m'aider.... Est il
possible en VBA de modifier un code vba? en plus simple il y a un test de
date dans le code
si la date est passee demande d'un mot de passe si ok modification de la
dite date.... Possible ou fiction??

Merci a tous de votre aide
Lionel



michdenis
Le #18701061
Si tu es certain de la chaîne que tu veux modifier,
il y a une façon plus expéditive :

'-----------------------------------------
Sub ChangeChemin()

Dim ChaineRecherchée As String
Dim ChaineRemplace As String
Dim Trouver As Integer
Dim I As Integer, Texte As String
Dim Module As Object

'*************À renseigner*************
ChaineRecherchée = "DateSerial(2009, 2, 20)"
ChaineRemplace = "DateSerial(2009, 2, 18)"
'************************************
On Error Resume Next
For Each Module In ThisWorkbook.VBProject.VBComponents
With Module.CodeModule
'Si le module ou est mis cette proc se nomme "Module1"
If Module.Name <> "Module1" Then
Texte = .Lines(1, .CountOfLines)
If InStr(1, Texte, ChaineRecherchée, vbTextCompare) <> 0 Then
Texte = Replace(Texte, ChaineRecherchée, ChaineRemplace)
.DeleteLines 1, .CountOfLines
.AddFromString Texte
End If
End If
End With
Next
Set Module = Nothing
End Sub
'-----------------------------------------



"Lionel" 499bd957$0$18361$
Merci Beaucoup....

Juste une petit détail
je patauge dans mes variables et leur traitement
je me plante surement avec datevalue...
Je voudrais rajouter 100 jours à la date qui sera remplacée et quelquechose
m'echappe...
Encore une petite aide STP....

Merci
Lionel
"michdenis" news:%23fvOA$
Oui c'est possible :

Cette procédure va scanner tout ton code et va
remplacer la chaîne de caractère que tu lui demandes
par la nouvelle

Tu fais ton test sur la date avec mot de passe
(ici on ne parle pas de projet vba verrouillé) avant
de lancer la 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

'*************À renseigner*************
ChaineRecherchée = "C:Mon DossierMa Base.mdb"
ChaineRemplace = "D:Mon Autre DossierMa Base.mdb"
'************************************

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
'-------------------------------------



"Lionel"

discussion :
499b4308$0$4089$
Bonjour,
J'aurai besoin de la lumiere de tous ceux qui peuvent m'aider.... Est il
possible en VBA de modifier un code vba? en plus simple il y a un test de
date dans le code
si la date est passee demande d'un mot de passe si ok modification de la
dite date.... Possible ou fiction??

Merci a tous de votre aide
Lionel



michdenis
Le #18701291
Si tu dois remplacer seulement dans le ThisWorkbook :
Évidemment ton code doit être dans un autre module.
'-------------------------
Sub ChangeChemin()

Dim ChaineRecherchée As String
Dim ChaineRemplace As String
Dim Trouver As Integer
Dim I As Integer, Texte As String
Dim Module As Object

'*************À renseigner*************
ChaineRecherchée = "DateSerial(2009, 2, 20)"
ChaineRemplace = "DateSerial(2009, 5, 20)"
'************************************
On Error Resume Next
With ThisWorkbook.VBProject.VBComponents("ThisWorkbook").CodeModule
Texte = .Lines(1, .CountOfLines)
If InStr(1, Texte, ChaineRecherchée, vbTextCompare) <> 0 Then
Texte = Replace(Texte, ChaineRecherchée, ChaineRemplace)
.DeleteLines 1, .CountOfLines
.AddFromString Texte
End If
End With
Set Module = Nothing
End Sub
'-------------------------



"Lionel" 499c07e3$0$4098$
Merci
Je suppose que si la chaine est dans thisworkbook j'ai juste a changer
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

par ???

Merci encore....


"michdenis" news:
Pour ajouter 100 jours à la date d'aujourd'hui
an / mois/jour
y = DateSerial(2009, 2, 18 + 100)



"Lionel"

discussion :
499bd957$0$18361$
Merci Beaucoup....

Juste une petit détail
je patauge dans mes variables et leur traitement
je me plante surement avec datevalue...
Je voudrais rajouter 100 jours à la date qui sera remplacée et


quelquechose
m'echappe...
Encore une petite aide STP....

Merci
Lionel
"michdenis" news:%23fvOA$
> Oui c'est possible :
>
> Cette procédure va scanner tout ton code et va
> remplacer la chaîne de caractère que tu lui demandes
> par la nouvelle
>
> Tu fais ton test sur la date avec mot de passe
> (ici on ne parle pas de projet vba verrouillé) avant
> de lancer la 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
>
> '*************À renseigner*************
> ChaineRecherchée = "C:Mon DossierMa Base.mdb"
> ChaineRemplace = "D:Mon Autre DossierMa Base.mdb"
> '************************************
>
> 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
> '-------------------------------------
>
>
>
> "Lionel" discussion :
> 499b4308$0$4089$
> Bonjour,
> J'aurai besoin de la lumiere de tous ceux qui peuvent m'aider.... Est il
> possible en VBA de modifier un code vba? en plus simple il y a un test


de
> date dans le code
> si la date est passee demande d'un mot de passe si ok modification de la
> dite date.... Possible ou fiction??
>
> Merci a tous de votre aide
> Lionel
>


Lionel
Le #18705351
Rebonsoir,

Apres essai, ca ne fonctionne pas completement dans la mesure ou j'ai
l'impression que le code ne "lit" que la premiere ligne. Il manque peut etre
une boucle qqpart...
Cordialement et Merci
Lionel
"michdenis" news:
Si tu dois remplacer seulement dans le ThisWorkbook :
Évidemment ton code doit être dans un autre module.
'-------------------------
Sub ChangeChemin()

Dim ChaineRecherchée As String
Dim ChaineRemplace As String
Dim Trouver As Integer
Dim I As Integer, Texte As String
Dim Module As Object

'*************À renseigner*************
ChaineRecherchée = "DateSerial(2009, 2, 20)"
ChaineRemplace = "DateSerial(2009, 5, 20)"
'************************************
On Error Resume Next
With ThisWorkbook.VBProject.VBComponents("ThisWorkbook").CodeModule
Texte = .Lines(1, .CountOfLines)
If InStr(1, Texte, ChaineRecherchée, vbTextCompare) <> 0 Then
Texte = Replace(Texte, ChaineRecherchée, ChaineRemplace)
.DeleteLines 1, .CountOfLines
.AddFromString Texte
End If
End With
Set Module = Nothing
End Sub
'-------------------------



"Lionel"

discussion :
499c07e3$0$4098$
Merci
Je suppose que si la chaine est dans thisworkbook j'ai juste a changer
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

par ???

Merci encore....


"michdenis" news:
> Pour ajouter 100 jours à la date d'aujourd'hui
> an / mois/jour
> y = DateSerial(2009, 2, 18 + 100)
>
>
>
> "Lionel" discussion :
> 499bd957$0$18361$
> Merci Beaucoup....
>
> Juste une petit détail
> je patauge dans mes variables et leur traitement
> je me plante surement avec datevalue...
> Je voudrais rajouter 100 jours à la date qui sera remplacée et
quelquechose
> m'echappe...
> Encore une petite aide STP....
>
> Merci
> Lionel
> "michdenis" > news:%23fvOA$
> > Oui c'est possible :
> >
> > Cette procédure va scanner tout ton code et va
> > remplacer la chaîne de caractère que tu lui demandes
> > par la nouvelle
> >
> > Tu fais ton test sur la date avec mot de passe
> > (ici on ne parle pas de projet vba verrouillé) avant
> > de lancer la 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
> >
> > '*************À renseigner*************
> > ChaineRecherchée = "C:Mon DossierMa Base.mdb"
> > ChaineRemplace = "D:Mon Autre DossierMa Base.mdb"
> > '************************************
> >
> > 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
> > '-------------------------------------
> >
> >
> >
> > "Lionel" > discussion :
> > 499b4308$0$4089$
> > Bonjour,
> > J'aurai besoin de la lumiere de tous ceux qui peuvent m'aider.... Est


il
> > possible en VBA de modifier un code vba? en plus simple il y a un test
de
> > date dans le code
> > si la date est passee demande d'un mot de passe si ok modification de


la
> > dite date.... Possible ou fiction??
> >
> > Merci a tous de votre aide
> > Lionel
> >


Lionel
Le #18724201
C'est bon j'ai trouvé il s'agissait du probleme de formatage de la date
10/2/2009 alors que le code cherchait 10/02/2009
Mille excuses pour le derangement.
Merci encore
Lionel
"Lionel" news:499c68db$0$17778$
Rebonsoir,

Apres essai, ca ne fonctionne pas completement dans la mesure ou j'ai
l'impression que le code ne "lit" que la premiere ligne. Il manque peut


etre
une boucle qqpart...
Cordialement et Merci
Lionel
"michdenis" news:
> Si tu dois remplacer seulement dans le ThisWorkbook :
> Évidemment ton code doit être dans un autre module.
> '-------------------------
> Sub ChangeChemin()
>
> Dim ChaineRecherchée As String
> Dim ChaineRemplace As String
> Dim Trouver As Integer
> Dim I As Integer, Texte As String
> Dim Module As Object
>
> '*************À renseigner*************
> ChaineRecherchée = "DateSerial(2009, 2, 20)"
> ChaineRemplace = "DateSerial(2009, 5, 20)"
> '************************************
> On Error Resume Next
> With ThisWorkbook.VBProject.VBComponents("ThisWorkbook").CodeModule
> Texte = .Lines(1, .CountOfLines)
> If InStr(1, Texte, ChaineRecherchée, vbTextCompare) <> 0 Then
> Texte = Replace(Texte, ChaineRecherchée, ChaineRemplace)
> .DeleteLines 1, .CountOfLines
> .AddFromString Texte
> End If
> End With
> Set Module = Nothing
> End Sub
> '-------------------------
>
>
>
> "Lionel" discussion :
> 499c07e3$0$4098$
> Merci
> Je suppose que si la chaine est dans thisworkbook j'ai juste a changer
> 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
>
> par ???
>
> Merci encore....
>
>
> "michdenis" > news:
> > Pour ajouter 100 jours à la date d'aujourd'hui
> > an / mois/jour
> > y = DateSerial(2009, 2, 18 + 100)
> >
> >
> >
> > "Lionel" > discussion :
> > 499bd957$0$18361$
> > Merci Beaucoup....
> >
> > Juste une petit détail
> > je patauge dans mes variables et leur traitement
> > je me plante surement avec datevalue...
> > Je voudrais rajouter 100 jours à la date qui sera remplacée et
> quelquechose
> > m'echappe...
> > Encore une petite aide STP....
> >
> > Merci
> > Lionel
> > "michdenis" > > news:%23fvOA$
> > > Oui c'est possible :
> > >
> > > Cette procédure va scanner tout ton code et va
> > > remplacer la chaîne de caractère que tu lui demandes
> > > par la nouvelle
> > >
> > > Tu fais ton test sur la date avec mot de passe
> > > (ici on ne parle pas de projet vba verrouillé) avant
> > > de lancer la 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
> > >
> > > '*************À renseigner*************
> > > ChaineRecherchée = "C:Mon DossierMa Base.mdb"
> > > ChaineRemplace = "D:Mon Autre DossierMa Base.mdb"
> > > '************************************
> > >
> > > 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
> > > '-------------------------------------
> > >
> > >
> > >
> > > "Lionel" > > discussion :
> > > 499b4308$0$4089$
> > > Bonjour,
> > > J'aurai besoin de la lumiere de tous ceux qui peuvent m'aider....


Est
il
> > > possible en VBA de modifier un code vba? en plus simple il y a un


test
> de
> > > date dans le code
> > > si la date est passee demande d'un mot de passe si ok modification


de
la
> > > dite date.... Possible ou fiction??
> > >
> > > Merci a tous de votre aide
> > > Lionel
> > >




michdenis
Le #18705851
Si tu ne peux décrire mieux la problématique que tu éprouves
je vais considérer que tu es satisfait ! ;-)
Publicité
Poster une réponse
Anonyme