aide worksheet_change

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

hprfr

Guest
Bonjour,

Voila, j'ai un petit probleme pour remplir un fichier a l'aide de la fonction private sub worksheet_change.
J'ai un fichier avec 3 onglets, et je souhaite, remplir les 2 premiers onglets en fonction du choix d'un menu déroulant dans une cellule du premier onglet.
Private Sub Worksheet_Change(ByVal Target As Range)
If Range("E2").Value = "Français" Then Call remplissage_francais
If Range("E2").Value = "English" Then Call remplissage_anglais
End Sub

Sub remplissage_francais()
Sheets("Données-Data").Select
Range("B3").Value = "Type de fluide"
Range("B8").Value = "Fluide"
...
Sheets("Calculs").Select
Range("B4").Value = "Type de vanne"
...
End Sub

Sub remplissage_anglais()
Range("B3").Value = "Type of fluid"
Range("B8").Value = "Fluid"
...
Sheets("Calculs").Select
Range("B4").Value = "Valve type"
...
End Sub

Voila mon code, que j'ai mis dans sheet1 sur vba
Le seul truc, c'est que tant que je ne demande pas de remplir le deuxième onglet, ca se passe très bien, le soucis arrive lorsque je veux remplir le deuxieme onglet, ca plante et je sais pas trop a quoi cela est du.

Merci d'avance
 
Re : aide worksheet_change

Bonjour hprfr, le forum,

Deux chose:

test effectivement la target.adress comme ceci:
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
[COLOR="Red"]If Not Intersect(Target, Range("E2")) Is Nothing Then

Cancel = True[/COLOR]

If Range("E2").Value = "Français" Then Call remplissage_francais
If Range("E2").Value = "English" Then Call remplissage_anglais
End If


End Sub

Puis pour que le remplissage English fonctionnne, corrige l'erreur de frappe dans ta liste déroulante!😉
Tu as écrit Egllish

Une fois corrigé et tester cela fonctionnne!
Edit:
de plus je suppose que ceci:
Code:
With Sheets("[B]Données-Data[/B]")
    .Range("B4").Value = "Valve type"
End With

Serait plus tôt comme ceci:
Code:
With Sheets("[B]Calculs[/B]")
    .Range("B4").Value = "Valve type"
End With

Si je compare les deux codes français et anglais!
 
Dernière édition:
- 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

  • Question Question
Microsoft 365 worksheet_change
Réponses
29
Affichages
1 K
Réponses
1
Affichages
325
Réponses
10
Affichages
792
  • Question Question
Microsoft 365 Code VBA
Réponses
10
Affichages
1 K
Réponses
3
Affichages
923
Retour