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

Tout fonctionne mais y a t-il mieux à faire

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 !

un internaute

XLDnaute Impliqué
Bonjour le forum,
J'ai ajouter la partie en rouge à la macro pour faire la même chose mais en colonne H
Y a t-il mieux à faire pour la simplifier?
Merci d'avance
Bien cordialement


Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Range("E4:E15"), Target) Is Nothing And Target.Count = 1 Then
If IsNumeric(Target) And Target <> "" Then
Application.EnableEvents = False
Target.Formula = "=" & Target & "+'Année 2016'!E16"
Application.EnableEvents = True
End If
End If
If Not Intersect(Range("H4:H15"), Target) Is Nothing And Target.Count = 1 Then
If IsNumeric(Target) And Target <> "" Then
Application.EnableEvents = False
Target.Formula = "=" & Target & "+'Année 2016'!H16"
Application.EnableEvents = True

End If
End If
End Sub
 
Bonjour.
VB:
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Range("E4:E15,H4:H15"), Target) Is Nothing And Target.Count = 1 Then
   If VarType(Target.Value) = vbDouble Then
      Application.EnableEvents = False
      Target.Formula = "=" & Target.Value & "+'Année 2016'!$E$16"
      Application.EnableEvents = True
      End If: End If
End Sub
 
Bonjour Dranreb,
Ça fonctionne SUPER mais il y a un "petit" hic c'est que j'ai 1 m3 de différence entre l'ancienne macro (la mienne) et la tienne.
Les cellules de la colonne H sont formatées en standard.
Peut-on arriver à corriger le petit problème?
Merci d'avance
Bien à toi
 
VB:
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Range("E4:E15,H4:H15"), Target) Is Nothing And Target.Count = 1 Then
   If VarType(Target.Value) = vbDouble Then
      Application.EnableEvents = False
      Target.Formula = "=" & Target.Value & "+'Année 2016'!" & Target.Address
      Application.EnableEvents = True
      End If: End If
End Sub
 
Bonjour Dranreb,
C'est ta première macro qui fonctionne.
Car je fait des différences et je trouve 21 m3 au lieu de 20 m3 avec ma première macro.
J'ai repris ta première macro et ajouter -1
je ne sais pas si c'est très "catholique" mais ça tombe juste

Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Range("E4:E15,H4:H15"), Target) Is Nothing And Target.Count = 1 Then
If VarType(Target.Value) = vbDouble Then
Application.EnableEvents = False
Target.Formula = "=" & Target.Value & "+'Année 2016'!$E$16-1" 'ajout -1 par moi
Application.EnableEvents = True
End If: End If
End Sub

Excuse le retard pour te répondre.
Bien cordialement
 
Bonjour.
Je ne sais pas; tout ce que je n'avais pas vu du 1er coup c'est que dans vos lignes en rouge vous preniez H16 et plus E16. Alors j'en ai déduit qu'il fallait prendre Target.Address
Mais c'est peut être faux. Toujours très difficile sans voir le classeur ni pouvoir tester…
il faut peut être :
VB:
Target.FormulaR1C1 = "=" & Target.Value & "+'Année 2016'!R16C"
 
Dernière édition:
Re-bonjour
Oui ça fonctionne avec ta nouvelle ligne.
Meme avec celle ci-dessous:
Target.Formula = "=" & Target.Value & "+'Année 2016'!H16"
Je conçois que sans le classeur c'est très difficile et comme je ne suis pas un as de l'explication!!!
If VarType(Target.Value) = vbDouble Then
La ligne ci-dessus est très interressante
En tout cas merci à toi d'avoir résolu mon problème.
Bonne fin de journée à toi
Bien cordialement
 
- 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

Réponses
9
Affichages
475
  • Question Question
Microsoft 365 Probléme VBA
Réponses
8
Affichages
527
  • Question Question
Microsoft 365 worksheet_change
Réponses
29
Affichages
1 K
Réponses
1
Affichages
444
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…