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

Changement automatique de valeur [Résolu]

  • Initiateur de la discussion Initiateur de la discussion fredtu
  • 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 !

fredtu

XLDnaute Junior
Bonjour,
J'ai recherché mais je n'ai pa trouvé la réponse à ma question.

Est-il possible de changer automatiquement la valeur d'une cellule en fonction de son contenu ?

Je m'explique :

Dans ma colon, j'ai des noms et je souhaiterai qu'Excel m'affiche en correspondance la ville de résidence.
Exemple :
A
Jacques
Denis
Pierre
François
Jean
Max

Je voudrai qu'automatiquement Jacques et Denis soient modifiés en Lille, Pierre et François en Roubaix, Jean et Max en Tourcoing.

J'ai cherché du côté de la mise en forme automatique mais la mise en forme des cellules ne correspond pas à ma demande.

Merci d'avance pour votre aide.
 
Bonjour fredtu, bonjour chère ânesse,

Il suffit d'exécuter cette macro (pour la colonne A) :
Code:
Sub Changer()
Dim a, c As Range, x As Variant
a = [{"Jacques","Lille";"Denis","Lille";"Pierre","Roubaix";"François","Roubaix";"Jean","Tourcoing";"Max","Tourcoing"}]
On Error Resume Next
For Each c In [A:A].SpecialCells(xlCellTypeConstants, 2)
  x = Application.VLookup(c, a, 2, 0)
  If Not IsError(x) Then c = x
Next
End Sub
Elle peut être exécutée quand et comme vous voulez.

Par exemple en l'appelant dans une macro évènementielle Worksheet_Change ou Selection_Change.

A+
 
Re,

Autre solution, si les noms à remplacer peuvent être une partie des textes des cellules :
Code:
Sub ChangerPartie()
Dim a, i As Byte
a = [{"Jacques","Lille";"Denis","Lille";"Pierre","Roubaix";"François","Roubaix";"Jean","Tourcoing";"Max","Tourcoing"}]
For i = 1 To UBound(a)
  [A:A].Replace a(i, 1), a(i, 2), xlPart
Next
End Sub
A+
 
Bonjour à tous,
Salut ma très chère G.,
Salut mon cher Gérard,

Fredtu : quand tu te décideras à déposer un fichier tu découvriras certainement d'autres possibilités. En particulier une possibilité de mettre les concordances dans une feuille sur 2 colonnes.

Bises +++ 00
A+++ mon Ami
A+ à tous
 
Bonjour à tous,

Merci d'avoir pris le temps de me répondre et à Job75 de me proposer une réponse qui marche parfaitement.
Toutefois, comme je veux laisser l'accès à d'autres personnes qui ont encore moins de compétences sous excel que moi, et pensent que VBA est un groupe de variété américain, j'ai opté pour une autre solution : créer une feuille avec 2 colonnes. La première avec les noms, la seconde avec les villes de correspondances. Dans mon tableau, j'ai rajouté une une colonne avec une formule de type =SI(C3="";"";RECHERCHEV(C3;TG!$A$1:$B$249;2;0)), qui me permet de rapatrier la ville et me facilite la gestion via un TCD.

Encore merci pour vos réponses.
 
- 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

Discussions similaires

H
Réponses
4
Affichages
1 K
H
B
Réponses
4
Affichages
2 K
benoitoleron
B
B
Réponses
8
Affichages
1 K
BASSAN L
B
M
Réponses
2
Affichages
806
MlleJen
M
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…