Microsoft 365 Remplacer des données sans ouvrir les documents

DavidMM

XLDnaute Nouveau
Bonjour,

Y a t il une solution pour remplacer des données sur plusieurs feuilles sans les ouvrir ?

Par exemple changer sur 200 fichiers Excel differentes sans les ouvrir le mot "Porte" par "Issue de secours"

Merci
 
Dernière édition:

dysorthographie

XLDnaute Accro
Si mon code fonctionne mais pas optimiser comme je le voudrais !

dans l'exemple que j'ai donné je fait via ADO mais pas exactement comme je le voulais!

voila la requête que je voulais faire!
Ici je mets un fichier à jour avec une seule requête en lien Remplace$ de thisworboock à la feuille1$ du classeur cible !
VB:
UPDATE (SELECT [Feuil1$].NOM
FROM [Feuil1$] IN 'C:\Myrep\DavidMM\Planning Paris octobre 2022.xlsm'[excel 12.0;HDR=Yes;])
AS frm INNER JOIN [Remplace$] ON frm.NOM = Remplace.N_Avant
SET frm.nom = [Remplace$].[N_Apres];

hors je suis réduit à faire ça!
Code:
Sub Maj(Fichier As String)
Dim Cn As Object
Dim Sql As String
Set Cn = CreateObject("AdoDb.connection")
Cn.Open "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & Fichier & ";Extended Properties=""Excel 12.0;HDR=YES;"""
With Sheets("Remplace").Range("A1").CurrentRegion
    For i = 2 To .Rows.Count
        Sql = "UPDATE  [Feuil1$]  " & _
         " SET [NOM] = '" & Replace(.Cells(i, "B"), "'", "''") & "'" & _
         " Where [NOM]= '" & Replace(.Cells(i, "A"), "'", "''") & "'"
    Cn.Execute Sql
    Next
End With
Cn.Close
End Sub
 
Dernière édition:

dysorthographie

XLDnaute Accro
En fait je pense que la version que j'ai posté est grandement suffisante car je ne pense pas que notre ami doit perpétrer cette action journellement !

Je suis juste frustré de ne pas avoir fait mieux !
Je ne baisse pas les bras et je vais investiguer 😂
 
Dernière édition:

cp4

XLDnaute Barbatruc

dysorthographie

XLDnaute Accro
Bonjour,
1668009323169.png


  1. L'onglet Remplace Contient
    Colonne A les Nom avant modification
    Colonne B les Nom après modification
  2. Err En vert tous es OK
    Err en Rouge la liste des erreur!
  3. Ok les fichier traités avec succès.
  4. Go ouvre un fenêtre de sélection d'un répertoire!
 

Pièces jointes

  • DavidMM.xlsm
    29.1 KB · Affichages: 6

dysorthographie

XLDnaute Accro
Merci à vous tous pour le travail effectué. Juste que je suis novice et un peu perdu, surtout quand j'ai entre 200 et 250 fichiers à ouvrir et à modifier un par un.

Merci merci et merci ! je vais tester
je voulais m'épargner d'ouvrir et de refermer connexion ADODB en utilisant ThisWorkbook.FullName

mais les contrainte des driver ODBC on évolué!

j'utilise toujours une connexion ADODB mais pour faire une mise à jour du tableau Excel!
VB:
  Cn.Execute = "UPDATE  [Feuil1$] " & _
         " SET [NOM] = '" & Replace(.Cells(i, "B"), "'", "''") & "'" & _
         " Where [NOM]= '" & Replace(.Cells(i, "A"), "'", "''") & "'"
 
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
311 733
Messages
2 082 019
Membres
101 872
dernier inscrit
Colin T