Macro Rechercher Remplacer + boites de dialogue

Résolu
Tsud Messages postés 3 Date d'inscription jeudi 19 octobre 2006 Statut Membre Dernière intervention 19 octobre 2006 - 19 oct. 2006 à 10:11
Tsud Messages postés 3 Date d'inscription jeudi 19 octobre 2006 Statut Membre Dernière intervention 19 octobre 2006 - 19 oct. 2006 à 11:18
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

cs_casy Messages postés 7741 Date d'inscription mercredi 1 septembre 2004 Statut Membre Dernière intervention 24 septembre 2014 40
19 oct. 2006 à 11:14
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 #
3
jrivet Messages postés 7392 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
19 oct. 2006 à 10:22
Salut,

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

@+,   Ju£i?n
0
cs_casy Messages postés 7741 Date d'inscription mercredi 1 septembre 2004 Statut Membre Dernière intervention 24 septembre 2014 40
19 oct. 2006 à 10:29
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 #
0
Tsud Messages postés 3 Date d'inscription jeudi 19 octobre 2006 Statut Membre Dernière intervention 19 octobre 2006
19 oct. 2006 à 10:41
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...
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Tsud Messages postés 3 Date d'inscription jeudi 19 octobre 2006 Statut Membre Dernière intervention 19 octobre 2006
19 oct. 2006 à 11:18
Parfait! Merci pour ton aide!
0
Rejoignez-nous