Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

vba - une seule boite qui permette de saisir les deux variables InputBox("Recherche") & InputBox("Remplacer par")

8 réponses
Avatar
twinley
Bonjour à tous,

je fais une sub qui recherche le nom d'une cellule dans le range A1:A200
pour le remplacer par un autre nom sur toutes les feuilles.

J'utilise pour faire la saisie :

varrech = InputBox("Recherche")

varremp = InputBox("Remplacer par")

Existe-t-il une seule boite qui permette de saisir les deux variables ?

J'aimerai garder sous les yeux le nom recherché et pouvoir taper le nom
de remplacement.

Je n'ose pas réver d'une inputbox double saisie qui prend le contenu de
la cell quand je clic sur la cellule qui contient le nom à rechercher...
Et ensuite je rentre manuellement le nouveau nom dans le champ recherche
de l'inputbox !

merci pour l'aide
--
à+twinley

8 réponses

Avatar
Michael
Essaie avec un userform tu pourras meme mettre 50 champs si tu veux

Bye.
Avatar
anonymousA
bonjour,

ce que tu cherches s'appelle une boite de dialogue (dans les anciennes
versions) ou un userform, tu ne crois pas ?

A+


Bonjour à tous,

je fais une sub qui recherche le nom d'une cellule dans le range A1:A200
pour le remplacer par un autre nom sur toutes les feuilles.

J'utilise pour faire la saisie :

varrech = InputBox("Recherche")

varremp = InputBox("Remplacer par")

Existe-t-il une seule boite qui permette de saisir les deux variables ?

J'aimerai garder sous les yeux le nom recherché et pouvoir taper le nom
de remplacement.

Je n'ose pas réver d'une inputbox double saisie qui prend le contenu de
la cell quand je clic sur la cellule qui contient le nom à rechercher...
Et ensuite je rentre manuellement le nouveau nom dans le champ recherche
de l'inputbox !

merci pour l'aide
--
à+twinley



Avatar
twinley
Merci à vous deux pour vos réponses.

Je voulais faire un truc simple sans UF, mais si cela n'existe pas avec
une InputBox, je vais faire une usine à gaz. C'est mon domaine...

:)

à+twinley

anonymousA wrote:
bonjour,

ce que tu cherches s'appelle une boite de dialogue (dans les anciennes
versions) ou un userform, tu ne crois pas ?

A+



Bonjour à tous,

je fais une sub qui recherche le nom d'une cellule dans le range A1:A200
pour le remplacer par un autre nom sur toutes les feuilles.

J'utilise pour faire la saisie :

varrech = InputBox("Recherche")

varremp = InputBox("Remplacer par")

Existe-t-il une seule boite qui permette de saisir les deux variables ?

J'aimerai garder sous les yeux le nom recherché et pouvoir taper le nom
de remplacement.

Je n'ose pas réver d'une inputbox double saisie qui prend le contenu de
la cell quand je clic sur la cellule qui contient le nom à rechercher...
Et ensuite je rentre manuellement le nouveau nom dans le champ recherche
de l'inputbox !

merci pour l'aide
--
à+twinley





Avatar
Youky
Salut, essai ceci,
la selection est reprise dans l'inputbox

Private Sub CommandButton1_Click()
mot = Selection.Value
nom = InputBox("Remplacer " & mot & " ..? ", "Rechercher " & mot)
If nom = "" Then Exit Sub
For k = 1 To Sheets.Count
With Sheets(k).[A1:Z1000]
Set c = .Find(mot, LookIn:=xlValues)
If Not c Is Nothing Then
firstAddress = c.Address
Do
Sheets(k).Select
c.Activate
Selection.Value = nom
rep = MsgBox("Continuer la recherche ?", 4 + 32, "Sélection")
If rep = vbNo Then Exit Sub
Set c = .FindNext(c)
Loop While Not c Is Nothing And c.Address <> firstAddress
End If
End With
Next
MsgBox "Recherche terminée!"
End Sub


"twinley" a écrit dans le message de news:

Bonjour à tous,

je fais une sub qui recherche le nom d'une cellule dans le range A1:A200
pour le remplacer par un autre nom sur toutes les feuilles.

J'utilise pour faire la saisie :

varrech = InputBox("Recherche")

varremp = InputBox("Remplacer par")

Existe-t-il une seule boite qui permette de saisir les deux variables ?

J'aimerai garder sous les yeux le nom recherché et pouvoir taper le nom
de remplacement.

Je n'ose pas réver d'une inputbox double saisie qui prend le contenu de
la cell quand je clic sur la cellule qui contient le nom à rechercher...
Et ensuite je rentre manuellement le nouveau nom dans le champ recherche
de l'inputbox !

merci pour l'aide
--
à+twinley


Avatar
jps
tussssss....et aussi le mien ; ne te vante pas, twinley
jps

"twinley" a écrit dans le message de
news:etDpA%
... je vais faire une usine à gaz. C'est mon domaine...

:)

à+twinley

anonymousA wrote:
bonjour,

ce que tu cherches s'appelle une boite de dialogue (dans les anciennes
versions) ou un userform, tu ne crois pas ?

A+



Bonjour à tous,

je fais une sub qui recherche le nom d'une cellule dans le range A1:A200
pour le remplacer par un autre nom sur toutes les feuilles.

J'utilise pour faire la saisie :

varrech = InputBox("Recherche")

varremp = InputBox("Remplacer par")

Existe-t-il une seule boite qui permette de saisir les deux variables ?

J'aimerai garder sous les yeux le nom recherché et pouvoir taper le nom
de remplacement.

Je n'ose pas réver d'une inputbox double saisie qui prend le contenu de
la cell quand je clic sur la cellule qui contient le nom à rechercher...
Et ensuite je rentre manuellement le nouveau nom dans le champ recherche
de l'inputbox !

merci pour l'aide
--
à+twinley







Avatar
twinley
Merci Youki
Une petite adaptation, quelques lignes de ton code pour alléger le mien
et c'est bon

Bonne soirée

à+twinley

Youky wrote:
Salut, essai ceci,
la selection est reprise dans l'inputbox

Private Sub CommandButton1_Click()
mot = Selection.Value
nom = InputBox("Remplacer " & mot & " ..? ", "Rechercher " & mot)
If nom = "" Then Exit Sub
For k = 1 To Sheets.Count
With Sheets(k).[A1:Z1000]
Set c = .Find(mot, LookIn:=xlValues)
If Not c Is Nothing Then
firstAddress = c.Address
Do
Sheets(k).Select
c.Activate
Selection.Value = nom
rep = MsgBox("Continuer la recherche ?", 4 + 32, "Sélection")
If rep = vbNo Then Exit Sub
Set c = .FindNext(c)
Loop While Not c Is Nothing And c.Address <> firstAddress
End If
End With
Next
MsgBox "Recherche terminée!"
End Sub


"twinley" a écrit dans le message de news:


Bonjour à tous,

je fais une sub qui recherche le nom d'une cellule dans le range A1:A200
pour le remplacer par un autre nom sur toutes les feuilles.

J'utilise pour faire la saisie :

varrech = InputBox("Recherche")

varremp = InputBox("Remplacer par")

Existe-t-il une seule boite qui permette de saisir les deux variables ?

J'aimerai garder sous les yeux le nom recherché et pouvoir taper le nom
de remplacement.

Je n'ose pas réver d'une inputbox double saisie qui prend le contenu de
la cell quand je clic sur la cellule qui contient le nom à rechercher...
Et ensuite je rentre manuellement le nouveau nom dans le champ recherche
de l'inputbox !

merci pour l'aide
--
à+twinley







Avatar
twinley
y en a qui manque pas d'air...

;-)

à+twinley

jps wrote:
tussssss....et aussi le mien ; ne te vante pas, twinley
jps

"twinley" a écrit dans le message de
news:etDpA%
.... je vais faire une usine à gaz. C'est mon domaine...

:)

à+twinley

anonymousA wrote:

bonjour,

ce que tu cherches s'appelle une boite de dialogue (dans les anciennes
versions) ou un userform, tu ne crois pas ?

A+




Bonjour à tous,

je fais une sub qui recherche le nom d'une cellule dans le range A1:A200
pour le remplacer par un autre nom sur toutes les feuilles.

J'utilise pour faire la saisie :

varrech = InputBox("Recherche")

varremp = InputBox("Remplacer par")

Existe-t-il une seule boite qui permette de saisir les deux variables ?

J'aimerai garder sous les yeux le nom recherché et pouvoir taper le nom
de remplacement.

Je n'ose pas réver d'une inputbox double saisie qui prend le contenu de
la cell quand je clic sur la cellule qui contient le nom à rechercher...
Et ensuite je rentre manuellement le nouveau nom dans le champ recherche
de l'inputbox !

merci pour l'aide
--
à+twinley











Avatar
twinley
Salut Youki

A la réflexion et après avoir compliqué les choses, ton code est génial
et c'est très exactement ce dont j'ai besoin. Je jette l'usine à gaz.
Tssssss... voilà la merveille. J'ai déjà une macro event anti-doublon,
donc pas de boucle.

Sub renommeunclient()
' cherche le nom sélectionné en colA et le remplace dans colA ou _
colB de toutes les feuilles
Sheets(1).Select
rep = MsgBox("Le focus est-il sur le nom à modifier ?", _
4 + 32, "Sélection du nom")
If rep = vbNo Then
MsgBox ("Positionnez le focus sur le nom à modifier et _
relancez la macro...")
Exit Sub
End If
mot = Selection.Value
Nom = InputBox("Remplacer " & mot & " par...? " & vbCrLf & vbCrLf
_ & "Saisissez le nouveau nom", "Rechercher nom Client / Remplacer _
par Nouveau nom " & mot)
If Nom = "" Then Exit Sub
For k = 1 To Sheets.Count
With Sheets(k).[A1:B200]
Set C = .Find(mot, LookIn:=xlValues)
If Not C Is Nothing Then
firstAddress = C.Address
Sheets(k).Select
C.Activate
Selection.Value = Nom
End If
End With
Next
Sheets(1).Select
MsgBox "Modification terminée!"
End Sub



Encore merci.

à+twinley

twinley wrote:
Merci Youki
Une petite adaptation, quelques lignes de ton code pour alléger le mien
et c'est bon

Bonne soirée

à+twinley

Youky wrote:

Salut, essai ceci,
la selection est reprise dans l'inputbox

Private Sub CommandButton1_Click()
mot = Selection.Value
nom = InputBox("Remplacer " & mot & " ..? ", "Rechercher " & mot)
If nom = "" Then Exit Sub
For k = 1 To Sheets.Count
With Sheets(k).[A1:Z1000]
Set c = .Find(mot, LookIn:=xlValues)
If Not c Is Nothing Then
firstAddress = c.Address
Do
Sheets(k).Select
c.Activate
Selection.Value = nom
rep = MsgBox("Continuer la recherche ?", 4 + 32, "Sélection")
If rep = vbNo Then Exit Sub
Set c = .FindNext(c)
Loop While Not c Is Nothing And c.Address <> firstAddress
End If
End With
Next
MsgBox "Recherche terminée!"
End Sub


"twinley" a écrit dans le message de news:


Bonjour à tous,

je fais une sub qui recherche le nom d'une cellule dans le range A1:A200
pour le remplacer par un autre nom sur toutes les feuilles.

J'utilise pour faire la saisie :

varrech = InputBox("Recherche")

varremp = InputBox("Remplacer par")

Existe-t-il une seule boite qui permette de saisir les deux variables ?

J'aimerai garder sous les yeux le nom recherché et pouvoir taper le nom
de remplacement.

Je n'ose pas réver d'une inputbox double saisie qui prend le contenu de
la cell quand je clic sur la cellule qui contient le nom à rechercher...
Et ensuite je rentre manuellement le nouveau nom dans le champ recherche
de l'inputbox !

merci pour l'aide
--
à+twinley