Remplir une cellule en fonction d'une autre cellule

Copper Contributor

Bonjour

J’ai dans une cellule(A1) le choix entre France OU Export dans une menu déroulant. Dans la cellule (B1) J’aimerai que pour le choix France afficher EUR et si Export avoir une liste de devises (USD CAD CHF ...) dans laquelle je puisse faire le choix.

D’avance merci de votre aide

14 Replies

@Yves_Richard_74600 

Voir le classeur. Vous devrez autoriser les macros lorque vous ouvriez le classeur.

Bonsoir
je ne retrouve pas la macro pour m'en servir dans mon tableau.
Cordialement.

@Yves_Richard_74600 

Pour afficher le code, cliquez avec le bouton droit sur l'onglet de la feuille et sélectionnez "Afficher le code" dans le menu contextuel.

Bonsoir
J'ai bien récupérer le code mais j'ai un autre problème pour le modifier car j'ai trois feuilles dans mon classeur :
FEUILLE VENTES :
Date de Facturation # Facture F/E Dev Cours Montant brut HT
15/02/2023 2023-001 France EUR 1,00000 1 500,00
16/02/2023 2023-002 Export USD 0,98000 1 500,00
FEUILLE ACHATS :
Date Description F/E Dev Cours Dépense HT
15-janv-23 France EUR 1,00000 500,00

ET UNE FEUILLE DATAS :
France Export <= Cellules B et C 44 dans feuille DATAS
EUR USD <= Cellules B et C 45 dans feuille DATAS
CAD
GBP
CHF
AUD

Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Range("A1"), Target) Is Nothing Then
Application.ScreenUpdating = False
Application.EnableEvents = False
If Range("A1").Value = "France" Then
Range("B1").Value = "EUR"
Else
Range("B1").ClearContents
End If
Application.EnableEvents = True
Application.ScreenUpdating = True
End If
End Sub
Encore un grand merci pour votre aide !

@Yves_Richard_74600

Qu'est-ce c'est la problème exactement?

Bonjour Hans
sur cette feuille il faut qu'a chaque ligne la macro marche.
Colonne A B C D E F
Date de Facturation # Facture F/E Dev Cours brut HT
Ligne 10 15/02/2023 2023-001 France EUR 1,000000 1 500,00
Ligne 11 16/02/2023 2023-002 Export CHF 1,045000 1 500,00
Ligne 12
Ligne ...

Merci de votre retour

@Yves_Richard_74600 

Un nouveau exemple.

Merci beaucoup Hans c'est exactement ce que je cherchais !!!

Bonjour,

 

J'ai une version assez simple sans macro si ça t'intéresse.

 

@Yves_Richard_74600 

Bonjour,
Je suis preneur !
Merci d'avance

Ok, on y va !

 

Dans une feuille qui pourra être masquée tu dresses les 2 listes séparées par au moins une colonne

(la liste pour France est courte :beaming_face_with_smiling_eyes:)

Tu transformes chaque liste en tableau structuré (cliques dans le tableau>Insertion>Tableau =>Pas d'en-tête)

Renommes chaque tableau (cliques dans le tableau>A droite Création de tableau>A gauche Nom)

Je propose TabExport et TabFrance (il faut ces terminaisons)

 

1ere liste (France ou Export)

Méthode standard

Sélectionnes la plage>Données>Validation>Liste>Saisie France;Export

2023-03-11 19_00_49-Classeur2 - Excel.png

 

2eme liste

Liste basée sur une formule

Sélectionnes la plage

Attention au sens de la sélection, je sélectionne de D2 à D80 ou de D80 à D2 !

Je sélectionne de D2 à D80 (donc la cellule active dans ma sélection est D2)

>Données>Validation>Liste>Saisie =INDIRECT("Tab"&D2)  => D2 à adapter

 

Il reste à régler un problème

Pour une ligne déjà saisie, si l'utilisateur passe de France à Export, la 2eme liste reste à EUR

Via une mise en forme conditionnelle on met le texte en rouge par exemple ou peut être mieux, de la même couleur que le fond (non sélectionné pour l'utilisateur)

 

Sélectionnes la plage (attention au sens, même logique)

Accueil>Mise en forme conditionnelle>Nouvelle règle<Utiliser une formule...

=NB.SI.ENS(INDIRECT("Tab"&D2);E2)=0

Bouton Format>Choisir le formatage

 

Pour dupliquer cette fonctionnalité sur une autre feuille un simple copier coller de la 1ere cellule des 2 colonne suffit

 

 

@Yves_Richard_74600 

@Hecatonchire

<bonjour,

Je n'arrive pas à utiliser ce tuto, pouvez vs préciser svp ? 

@PierreAl35 

 

Bonjour Pierre,

 

Depuis je me suis lancé dans un blog et j'ai fais cette article

Listes de validation en cascades : Une solution simple et originale (1forme.fr)