VBA : Créer un champ qui ferait fonction de "Ctrl+H" sur la feuille de classeur

Steph74

XLDnaute Nouveau
Bonsoir à tous, je vous expose mon souci,

J'aimerai faire un champ en haut de ma feuille excel, où dès que je le remplirais, le contenu renseigné remplacerait automatiquement une variable commune à toutes mes formules de la feuille.

Par exemple toutes mes cellules contiennent le terme "Albert:24", si je renseigne en haut dans le champ que je voudrait créer : "Stephane:32",
tous les "Albert:24" seraient remplacés par des "Stephane:32"

C'est bien une sorte de Ctrl+H mais plus évolué qu'il me faudrait.
(Je précisie que je suis novice en VBA :))

Merci d'avance pour votre aide.
 

Yaloo

XLDnaute Barbatruc
Re : VBA : Créer un champ qui ferait fonction de "Ctrl+H" sur la feuille de classeur

Re,

Bon alors avec macro dans le fichier ci-dessous.

A te relire

Martial
 

Pièces jointes

  • test_Macro-steph74.xlsm
    14.5 KB · Affichages: 26
  • test_Macro-steph74.xlsm
    14.5 KB · Affichages: 26
  • test_Macro-steph74.xlsm
    14.5 KB · Affichages: 28

Steph74

XLDnaute Nouveau
Re : VBA : Créer un champ qui ferait fonction de "Ctrl+H" sur la feuille de classeur

Merci Martial, mais je n'arrive pas à lancer la macro. J'ai insérer dans le champ ID "bob42" pour un test puis "entré" mais ça n'a rien fait. Avec l'éditeur VBA je vois le code mais comment le lancer...

Si je fait F5 pour "Executer Sub/Uersform" on m'ouvre une fenêtre où il faut donner un nom de macro... je me demande si ne pas renseigner le champ puis cliquer sur un bouton ne serait pas mieux.
 

Yaloo

XLDnaute Barbatruc
Re : VBA : Créer un champ qui ferait fonction de "Ctrl+H" sur la feuille de classeur

Re,

Chez moi, ça fonctionne correctement.

La macro se déclenche lorsque tu change une donnée dans ta feuille.

Si la cellule active est C2 alors cela continu.

Essaie de mettre un point d'arrêt sur la ligne Application.EnableEvents = False, pour voir déjà si ça prend bien en compte la macro.

Si oui, continu avec F8 (pas à pas).

VB:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim nouveau As String
Application.EnableEvents = False
'Si la cellule active est C2
If Target.Address = "$C$2" Then
'Affiche message "Remplacer quoi ..."
nouveau = InputBox("Remplacer quoi ... ?")
    'Remplace toutes les valeurs nouveau par la valeur de C2
    Cells.Replace What:=nouveau, Replacement:=Target.Value, LookAt:=xlPart, _
        SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False
End If
Application.EnableEvents = True
End Sub

A+
 

Steph74

XLDnaute Nouveau
Re : VBA : Créer un champ qui ferait fonction de "Ctrl+H" sur la feuille de classeur

Ok, j'ai relancé excel et ça marche désormais et même mieux avec le point d'arrêt :). Cependant cela change également les cellules autres que celles des en-tete de colonne.
Je pensais arriver à faire un mix avec la solution d'hier avec ta ligne :

If Target.Address = "$A$1" Then
Range("B9,B12,C24,D20").Select

mais ça n'a pas marché. Une idée ? ;)
 

Yaloo

XLDnaute Barbatruc
Re : VBA : Créer un champ qui ferait fonction de "Ctrl+H" sur la feuille de classeur

Re,

Essaie avec cette macro :

VB:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim nouveau As String, Plage As Range
Application.EnableEvents = False
If Target.Address = "$C$2" Then
Set Plage = Range("E5,E16,H5,H16,K5")
nouveau = InputBox("Remplacer quoi ... ?")
    Plage.Replace What:=nouveau, Replacement:=Target.Value, LookAt:=xlPart, _
        SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False
End If
Application.EnableEvents = True
End Sub

A+

Martial
 

Steph74

XLDnaute Nouveau
Re : VBA : Créer un champ qui ferait fonction de "Ctrl+H" sur la feuille de classeur

Non excuse moi tout marche, c'est parfait, je vais tenter de faire la même chose pour l'autre variable "modification Age" tenter de faire 2 macro la suite ou un bouton ou autre je sais pas encore ;)

Passes de bonnes fêtes et encore merci Martial tu me tire une sacré épine du pied !
 
Dernière édition:

Yaloo

XLDnaute Barbatruc
Re : VBA : Créer un champ qui ferait fonction de "Ctrl+H" sur la feuille de classeur

Re,

Chez moi, avec ce fichier ça fonctionne

A+
 

Pièces jointes

  • test_Macro-steph74.xlsm
    14.6 KB · Affichages: 15
  • test_Macro-steph74.xlsm
    14.6 KB · Affichages: 16
  • test_Macro-steph74.xlsm
    14.6 KB · Affichages: 18

Statistiques des forums

Discussions
312 336
Messages
2 087 389
Membres
103 534
dernier inscrit
Kalamymustapha