sftorso
Messages postés6Date d'inscriptionmardi 31 janvier 2006StatutMembreDernière intervention22 avril 2011
-
21 avril 2011 à 09:13
sftorso
Messages postés6Date d'inscriptionmardi 31 janvier 2006StatutMembreDernière intervention22 avril 2011
-
22 avril 2011 à 14:34
Bonjour,
J'ai un fichier excel constitué de plusieurs onglet.
Dans chaque onglet, je veux utiliser la fonction remplacer pour remplacer les cellules qui contiennent les mots "nom" et "prénom" par le nom et prénom d'une personne.
J'ai récupéré ce script VB sur le forum qui fonctionne pour un onglet mais par pour plusieurs onglets.
Comment intégrer la recherche dans tout les onglets classeur ?
Sub Path()
Dim nom As String
Dim prenom As String
nom = InputBox("Nom", "Identification")
prenom = InputBox("Prenom", "Identification")
Au passage, je voudrais modifier le script pour ne pas avoir une boite de dialogue qui apparait pour entrer les nom et prénom. Je préfère taper le nom et le prénom dans 2 cellules et appliquer la fonction remplacer en cliquant sur le bouton.
cs_Jack
Messages postés14006Date d'inscriptionsamedi 29 décembre 2001StatutModérateurDernière intervention28 août 201579 21 avril 2011 à 09:40
Salut
En l'absence de précision, les instructions comme Cells s'appliquent à la feuille active.
Tu as juste à activer la feuille sur laquelle tu veux appliquer ton programme, genre
Sheets("ma feuille").Activate
Pour lister les feuilles, premier réflexe : la recherche.
Voir boucle For-Next et Sheets.Count, par exemple
Supprimer InputBox : c'est le b.a.ba
nom = Sheets("la feuille").Range("A1").Value
Vala
Jack, MVP VB NB : Je ne répondrai pas aux messages privés
Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
biolo24fr
Messages postés87Date d'inscriptionjeudi 16 janvier 2003StatutMembreDernière intervention28 mai 20131 21 avril 2011 à 10:12
Salut,
un truc du genre...
Sub Path()
Dim nom As String
Dim prenom As String
Dim i As Integer
nom = Sheets("Feuil1").Range("E2").Value ' cellule où tu remplis le nom
prenom = Sheets("Feuil1").Range("E3").Value' cellule où tu remplis le nom
For i = 2 To Sheets.Count 'on commence à la deuxième feuille et on parcours
Sheets(i).Cells.Replace What:="nom", Replacement:=nom, LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
Sheets(i).Cells.Replace What:="prenom", Replacement:=prenom, LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
Next
MsgBox ("Done")
End Sub
Mais attention dans prenom y'as nom, à toi d'adapter....
-----------------------------------------------------------------------------------------------------------
De tous ceux qui n'ont rien à dire, les plus agréables sont ceux qui se taisent.
sftorso
Messages postés6Date d'inscriptionmardi 31 janvier 2006StatutMembreDernière intervention22 avril 2011 21 avril 2011 à 11:10
Merci pour votre aide, ca marche !
Un dernier détail: je voudrais qu'en cliquant sur un autre boutton, ca me réinitialise mes onglets au cas ou je fais une erreur. Après utilisation de la macro on peut pas revenir en arrière et du coup je dois fermer excel.