Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Remplacer des valeurs

  • Initiateur de la discussion Initiateur de la discussion highlander
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

H

highlander

Guest
Bonjour, je fais encore appel à votre bonne volonté et à vos bon conseil.

j'ai un fichier excel dans lequel je veux faire une macro (pas mise en forme conditionnelle) pour remplacer un nom tapper par un autre

si je tape : "prof 1" ca me met automatiquement "professeur N° 1"

ça j'arrive à le faire, voici d'ailleurs le code :

Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("C4:AC42")) Is Nothing Then
Cells.Replace What:=("prof 1"), Replacement:=("Professeur N° 1"), LookAt:=xlWhole, SearchOrder _
:=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False
End If
End Sub

Maintenant j'aimerai que la valeur tapée, si elle correspond à la valeur de la case "a117" (valeur qui bouge en fonction de données rentrer sur une autre feuille (sa pas de soucis c'est une formule basique) soit remplacer par la valeur de la case "A74"

si quelqu'un a une idée, je suis preneur

merci d'avance pour le temps passé à essayer.
 
Re : Remplacer des valeurs

bonsoir highlander

Petit essai :

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("C4:AC42")) Is Nothing Then
Cells.Replace What:=("prof 1"), Replacement:=("Professeur N° 1"), LookAt:=xlWhole, SearchOrder _
    :=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False
    If Target = Range("A117") Then Target = Range("A74")
End If
End Sub

Bonne soirée/nuit,

mth
 
Re : Remplacer des valeurs

merci pour la formule, elle ne marchait pas mais je l'ai transformé légèrement et voici le résultat

Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("C4:AC42")) Is Nothing Then
If Target = Range("A117") Then Target = Range("A74")
Cells.Replace What:=("a117"), Replacement:=("a74"), LookAt:=xlWhole, SearchOrder _
:=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False
If Target = Range("A118") Then Target = Range("A75")
Cells.Replace What:=("a118"), Replacement:=("a75"), LookAt:=xlWhole, SearchOrder _
:=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False
End If
End Sub

encore merci
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
7
Affichages
366
Réponses
1
Affichages
347
Réponses
2
Affichages
588
A
Réponses
4
Affichages
668
A
Réponses
7
Affichages
829
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…