Macro Rechercher Remplacer + boites de dialogue [Résolu]

Signaler
Messages postés
3
Date d'inscription
jeudi 19 octobre 2006
Statut
Membre
Dernière intervention
19 octobre 2006
-
Messages postés
3
Date d'inscription
jeudi 19 octobre 2006
Statut
Membre
Dernière intervention
19 octobre 2006
-
Bonjour à tous,
 
Après pas mal de recherches, je n'arrive pas à trouver une solution à ce problème, limité que je suis par mes compétences en VB...
 
J'ai un classeur excel de synthèse (A) qui reprend les principaux éléments d'un autre classeur excel (B) via une liaison externe.
 
J'ai plusieurs classeurs excel (B et X) avec exactement la forme que (B), seuls quelques éléments varient: la date, le nom de la société (et les chiffres...). Le nom de chacun des fichiers (B et X) est construit également en fonction de la date et du nom de la société.
 
Au final, toutes les formules de mon classeur de synthèse (A) peuvent fonctionner avec n'importe quel classeur du dossier si j'effectue un rechercher/remplacer sur nom de société + date...
 
Je souhaiterais automatiser tout ça à partir d'une macro rechercher/remplacer + des boîtes de dialogue, à savoir;
- une boite de dialogue qui demande le nom de la société et qui remplace ensuite dans les formules,
- idem pour la date...
 
Cela fait un peu problème de maths mais j'espère au moins être suffisamment clair...
 Existe-t-il qqch de simple pour faire cela? Merci beaucoup pour votre aide ô combien précieuse!  <?xml:namespace prefix o ns "urn:schemas-microsoft-com:office:office" /??>

5 réponses

Messages postés
7741
Date d'inscription
mercredi 1 septembre 2004
Statut
Membre
Dernière intervention
24 septembre 2014
36
Tiens c'est mon jour de bontée.

Private Sub Workbook_Open()
Dim util As String
Dim annee As String

    util = InputBox("Nom de l'utilisateur", "Identification")
    annee = InputBox("Années de naissance", "Identification")
   
    Cells.Replace What:="toto", Replacement:=util, LookAt:=xlPart, _
            SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
            ReplaceFormat:=False
    Cells.Replace What:="1975", Replacement:=annee, LookAt:=xlPart, _
            SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
            ReplaceFormat:=False
           
    MsgBox ("Classeur pret à l'emploi. Merci!!!!")
End Sub

A mettre dans ThisWorkbook sous l'editeur VBA

---- Sevyc64  (alias Casy) ----<hr size="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #
Messages postés
7393
Date d'inscription
mercredi 23 avril 2003
Statut
Membre
Dernière intervention
6 avril 2012
48
Salut,

Pourquoi ne pas te servir du REchercher/Remplacer de Excel?

@+,   Ju£i?n
Messages postés
7741
Date d'inscription
mercredi 1 septembre 2004
Statut
Membre
Dernière intervention
24 septembre 2014
36
Un truc du genre (remplacement de toto par titi) :

    Cells.Replace What:="toto", Replacement:="titi", LookAt:=xlPart, _
        SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
        ReplaceFormat:=False

Astuce : un bon moyen d'avoir un code VBA est aussi l'enregistreur de macro :
- menu Outil/Macro/Nouvelle macro --> ok
- tu fais ta manip une fois
- quand elle est terminée, tu clique sur le bouton carré de la barre d'outil que tu as au milieu de la feuille pour arreter l'enregistrement
- tu ouvre l'éditeur VBA, tu regarde dans les modules, tu devrais retrouver le code correspndant à ta macro.

---- Sevyc64  (alias Casy) ----<hr size="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #
Messages postés
3
Date d'inscription
jeudi 19 octobre 2006
Statut
Membre
Dernière intervention
19 octobre 2006

Merci pour ces infos. En fait, mon but est de pouvoir partager ce fichier sans partager les fichiers sources (plus de 200); je souhaiterais avoir qqch de plus convivial et plus transparent pour celui qui l'utilisera.

Soit 2 boîtes de dialogue: "entrer le nom de la personne" Titi (Toto est remplacé automatiquement par Titi)
et "entrer l'année de naissance de la personne" 1975 (1975 remplace l'année de naissance de Toto)

Il faudrait que je combine ta macro avec ces fenêtres de dialogue...
Messages postés
3
Date d'inscription
jeudi 19 octobre 2006
Statut
Membre
Dernière intervention
19 octobre 2006

Parfait! Merci pour ton aide!