Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

fonction remplacer pour un dossier et ses sous dossiers

3 réponses
Avatar
sdellaux
Bonjour,

Pourrait on m'aider avec la fonction =AB Remplacer =BB ?

Dans un document excel je sais ma=EEtriser pour un ensemble de cellules
ou un document entier la fonction "remplacer" un texte par un autre.

Par contre peut on m'aider pour cette m=EAme fonction, pour un ensemble
de dossiers et sous dossiers et sous-sous dossiers ? je m'explique :

Je cr=E9e un dossier de base appel=E9 A

A l'interieur de ce dossier je cr=E9e par exemple x dossiers intitul=E9s :
A1-A2-A3-A4 etc....

Dans chacun de ces sous dossiers je cr=E9e :

En A1 les sous sous dossiers A1/1-A1/2 etc..
En A2 les sous sous dossiers A2/1-A2/2 etc...
En A3 les sous sous dossiers A3/1-A3/2 etc...
Et ainsi de suite =E0 l'infini....

Le fichier de base ainsi =E9tablit je d=E9sire faire un copier coller pour
cr=E9er un nouveau dossier intitul=E9 par exemple B.

Comment faire pour remplacer le texte A par le texte B dans tout
l'ensemble du dossier ? ( dossier - sous dossier - sous sous dossier
etc...) en une seule op=E9ration ?

Merci de votre aide par avance

3 réponses

Avatar
Daniel
Bonjour.
Tout d'abord, la macro suivante ne fonctionnera pas avec XL2007.
Dans .LookIn, indique le chemin du dossier principal.
Dans la ligne :
sh.Cells.Replace "toto", "titi"
"toto" indique la chaîne recherchée et "titi" la chaîne substituée.

Sub test()
Dim Fichier As String, sh As Worksheet
With Application.FileSearch
.NewSearch
.LookIn = "e:donneesdanielmpfe"
.Filename = "*.xls"
.FileType = msoFileTypeExcelWorkbooks
.SearchSubFolders = True
If .Execute > 0 Then
For i = 1 To .FoundFiles(.FoundFiles.Count)
Workbooks.Open .FoundFiles(i)
For Each sh In ActiveWorkbook.Sheets
sh.Cells.Replace "toto", "titi"
Next sh
ActiveWorkbook.Close True
Next i
End If
End With
End Sub

Enfin, la macro n'a pas été testée.
Cordialement.
Daniel
"sdellaux" a écrit dans le message de news:

Bonjour,

Pourrait on m'aider avec la fonction « Remplacer » ?

Dans un document excel je sais maîtriser pour un ensemble de cellules
ou un document entier la fonction "remplacer" un texte par un autre.

Par contre peut on m'aider pour cette même fonction, pour un ensemble
de dossiers et sous dossiers et sous-sous dossiers ? je m'explique :

Je crée un dossier de base appelé A

A l'interieur de ce dossier je crée par exemple x dossiers intitulés :
A1-A2-A3-A4 etc....

Dans chacun de ces sous dossiers je crée :

En A1 les sous sous dossiers A1/1-A1/2 etc..
En A2 les sous sous dossiers A2/1-A2/2 etc...
En A3 les sous sous dossiers A3/1-A3/2 etc...
Et ainsi de suite à l'infini....

Le fichier de base ainsi établit je désire faire un copier coller pour
créer un nouveau dossier intitulé par exemple B.

Comment faire pour remplacer le texte A par le texte B dans tout
l'ensemble du dossier ? ( dossier - sous dossier - sous sous dossier
etc...) en une seule opération ?

Merci de votre aide par avance
Avatar
sdellaux
On 25 mar, 16:23, "Daniel" wrote:
Bonjour.
Tout d'abord, la macro suivante ne fonctionnera pas avec XL2007.
Dans .LookIn, indique le chemin du dossier principal.
Dans la ligne :
sh.Cells.Replace "toto", "titi"
"toto" indique la chaîne recherchée et "titi" la chaîne substitué e.

Sub test()
Dim Fichier As String, sh As Worksheet
With Application.FileSearch
.NewSearch
.LookIn = "e:donneesdanielmpfe"
.Filename = "*.xls"
.FileType = msoFileTypeExcelWorkbooks
.SearchSubFolders = True
If .Execute > 0 Then
For i = 1 To .FoundFiles(.FoundFiles.Count)
Workbooks.Open .FoundFiles(i)
For Each sh In ActiveWorkbook.Sheets
sh.Cells.Replace "toto", "titi"
Next sh
ActiveWorkbook.Close True
Next i
End If
End With
End Sub

Enfin, la macro n'a pas été testée.
Cordialement.
Daniel
merci daniel de votre reponse mais je suis loin de maitriser le

système des macros. En l'occurence la macro que vous me donner ou dois-
je l'affecter ? je suis vraiment perdu merci de votre patiente stéphane

Avatar
Daniel
Bonjour.
Dans un classeur (différent de ceux à modifier, un nouveau classeur, par
exemple) :
Outils / Macro / Visual Basic Editor
Copie la macro dans la partie droite de l'écran. Reviens dans Excel :
Outils / Macro / Macros
Choisis "test" et clique sur "exécuter"
Fais un test sur un dossier de test avec un sous dossier où tu auras copié
un classeur.
Cordialement.
Daniel
"sdellaux" a écrit dans le message de news:

On 25 mar, 16:23, "Daniel" wrote:
Bonjour.
Tout d'abord, la macro suivante ne fonctionnera pas avec XL2007.
Dans .LookIn, indique le chemin du dossier principal.
Dans la ligne :
sh.Cells.Replace "toto", "titi"
"toto" indique la chaîne recherchée et "titi" la chaîne substituée.

Sub test()
Dim Fichier As String, sh As Worksheet
With Application.FileSearch
.NewSearch
.LookIn = "e:donneesdanielmpfe"
.Filename = "*.xls"
.FileType = msoFileTypeExcelWorkbooks
.SearchSubFolders = True
If .Execute > 0 Then
For i = 1 To .FoundFiles(.FoundFiles.Count)
Workbooks.Open .FoundFiles(i)
For Each sh In ActiveWorkbook.Sheets
sh.Cells.Replace "toto", "titi"
Next sh
ActiveWorkbook.Close True
Next i
End If
End With
End Sub

Enfin, la macro n'a pas été testée.
Cordialement.
Daniel
merci daniel de votre reponse mais je suis loin de maitriser le

système des macros. En l'occurence la macro que vous me donner ou dois-
je l'affecter ? je suis vraiment perdu merci de votre patiente stéphane