Bonjour à tous
Je bloque depuis quelques jours sur le problème suivant :
J'aimerai modifier un caractère "x" par un autre caractère "y" de toutes les cellules, en comportant, d'un fichier FERME. Il y a plusieurs feuilles, plusieurs lignes et colonnes, et surtout il peut y avoir plusieurs fois le même caractère dans une cellule.
La première ligne de chaque feuille n'est pas identique.
Je pars de ce code, mais bien sur il ne fonctionne pas. Que dois-je écrire ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 Sub modifie_fichier_ferme_interieur_cellules() Dim cnn, Feuille, i Set cnn = New ADODB.Connection cnn.Open "DRIVER={Microsoft Excel Driver (*.xls)};ReadOnly=0;DBQ=" & _ ThisWorkbook.Path & "\" & "fichiercible" 'Boucle sur les feuilles For i = 1 To 5 ' 5 étant un exemple de nbfeuilles Feuille = "Feuil" & i & "$" 'ligne de départ d'idée, mais qui fonctionne pas sur un fichier fermé Cells.Replace What:="x", Replacement:="y", LookAt:=xlPart, SearchOrder _ :=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False Next i cnn.Close Set cnn = Nothing End Sub
Dois-je nommer les plages, et si oui, comment ? toujours en fichier fermé
La solution que j'avais envisagé était de pointer sur chaque cellule, repérer chaque caractère "x" et modifier en "y", mais comme il y a plusieurs centaines de cellules.... Je me demandais s'il n'y avait pas quelque chose de beaucoup plus simple et plus rapide.
Cette manipulation est à exécuter plusieurs fois par mois et sur des fichiers différents.
Merci d'éclairer ma lanterne
Eric
Partager