macro automatique de condition

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

T

Thomas

Guest
Bonjour à tous,

j'ai besoin de créer une macro qui remplit automatiquement une valeur dans une cellule cible quand on remplit une certaine valeur donnée dans une autre cellule (du genre formule de condition mais sans écrire la formule dans la cellule cible).
D'avance merci
Thomas
 
Salut
Je te conseille de placer une textbox sur la case que tu veux remplir automatiquement. Ensuite doubleclique dessus pour faire apparaitre la procedure, et entre:

If textbox1.value = 'ma valeur' then cells(ligne cellule cible, colonne cellule cible).value = 'mon autre valeur' ...


Tu peux en plus modifier les options de ta textbox pour qu'elle devienne 'invisible' et qu'on ait l'impression de rentrer la valeur dans une cellule du classeur.

SpecialEffect = 0 - fmSpecialEffectFlat

Voila c comme ca que je ferai
A plus
 
Bonjour Thomas, bonjour le forum,

Thomas je te propose cette macro événementielle à placer dans le composant WorkSheet de VBE :


Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = '$A$1' Then Range('B1').Value = 'A1 éditée' '(cible et source à adapter)
End Sub

Édition

Bonjour David, on s'est croisé.

Message édité par: Robert, à: 30/09/2005 11:20
 
Merci bien pour vos réponses (merci David mais le textbox ne va pas dans mon tableau).
Robert si tu peux STP développer un peu plus ta réponse ; mon ex c'est si la cellule(13,2)='1' alors la cellule (13,15)='0.5'. Merci!!
Thomas
 
Bonjour,

Pour ton exemple, tu peux mettre aussi :

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
If Cells(13, 2) = '1' Then Cells(13, 15).Value = '0.5' '(cible et source à adapter)
End Sub

😉
 
Encore une question sur ce sujet (eh oui j'ai du mal...🙂)
Comment faire la meme chose mais sur une avec une boucle car la macro doit vérifier plusieurs lignes (la concretement dans l'exemple les lignes 13, 14, 15 et 16)...j'ai essayé une boucle ca marche pas...
 
Bonjour le fil, bonjour le forum,

Essaie comme ça :
Private Sub Worksheet_Change(ByVal Target As Range)
'condition 1 : le changement s'effectue dans pa plage B11:B16 autrement dit,
'si l'intersection de la cellule changée avec la plage B11:B16 n'est pas vide
If Not Application.Intersect(Target, Range(Cells(13, 2), Cells(16, 2))) Is Nothing Then
'condition 2 : si la cellule vaut '1' alors la 13ème cellule à sa droite vaut '0.5'
If Target.Value = '1' Then Target.Offset(0, 13).Value = '0.5'
End If 'fin de la condition 1
End Sub
 
- 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
3
Affichages
253
Réponses
7
Affichages
682
  • Question Question
XL 2021 Macro
Réponses
6
Affichages
312
Retour