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

VBA Somme évenementielle

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

Arpette

XLDnaute Impliqué
Bonjour à toutes et à tous,
J'ai deux tableaux que je rempli à l'aide d'un USF . Sur le tableau de droite dans la partie verte, si la cellule G n'est pas vide, pour la ligne je dois renseigner des valeurs manuellement. Je souhaiterais que les calculs des colonne N et O se fassent de manière évenementielle et non par formule comme dans le fichier joint.
Merci votre aide.
@+
 

Pièces jointes

Re : VBA Somme évenementielle

Bonsoir Gorfael et merci pour toutes ces remarques.
Avec le USF je rempli le tableau de droite ex: Articles = 3255ZZ, Matière = L49764 et Qté 200. Il faut que la concaténation d'article et matière existe dans colonne A de la feuille "nomenclature"
Ensuite, toujours dans le premier tableau, je concatène A et B en C ( je l'ai mis dans le USF) et avec "Private Sub Worksheet_Change(ByVal Target As Range)" je vais chercher la valeur de C dans la feuille "nomenclature" colonne D. Puis je décale la valeur colonne du premier tableau vers les seconds tableaux colonne G5, G25, G44, G65. Si je supprime A5 je suppime toutes les valeurs qui lui sont rattachées.
Ensuite arrive la partie somme sur la partie verte du tableau de gauche.
Voilà, j'espère que ce sera plus clair pour toi et surtout pour moi.
Merci de ton aide
@+
 
Re : VBA Somme évenementielle

Salut Arpette et le forum
Je crois que je me suis mal exprimé : Pour arriver à faire un code correct, il faut un algorithme correct. En gros, pour faire un raisonnement, il faut savoir d'où on part, et où on arrive, avec une idée de comment on manœuvre pour arriver au but recherché.
Avec le USF je rempli le tableau de droite ex: Articles = 3255ZZ, Matière = L49764 et Qté 200. Il faut que la concaténation d'article et matière existe dans colonne A de la feuille "nomenclature"
Ce que je lis :
Colonne C : identifiant constitué de la concaténation des colonnes A et B de la feuille Placement => si on a C, on peut retrouver A et B. Si on a seulement A ou seulement B, on a une multitude de C possibles.
Question : pourquoi ne pas avoir gardé la disposition de la feuille "Nomenclature" ? Sur cette feuille, A est la concaténation de B et C.
Ensuite, toujours dans le premier tableau, je concatène A et B en C ( je l'ai mis dans le USF) et avec "Private Sub Worksheet_Change je vais chercher la valeur de C dans la feuille "nomenclature" colonne D.
Là, ça commence à devenir nuageux. Je vais chercher quoi ?
Pour moi, je devrais comparer C de "Placement" à A de "Nomenclature". en cas d'équivalence, je retrouve facilement A et B de "placement", puisqu'elles correspondent à B et C de "Nomenclature". Et renseigner D de l'une à partir de D de l'autre. en faisant attention à qui est maître et qui est esclave.
Puis je décale la valeur colonne du premier tableau vers les seconds tableaux colonne G5, G25, G44, G65. Si je supprime A5 je supprime toutes les valeurs qui lui sont rattachées.
Vous pouvez répéter la question ???
Déjà les tableaux : à part le second qui est "décalé" du premier de 20 lignes, les autres le sont de 19. Soit il y a une raison (mais laquelle ?), soit il vaudrait mieux que l'écart entre les premières lignes des tableaux soit constant.
"Je décale la valeur" ? Qu'est-ce que c'est censé signifier ? On copie la valeur de G5 sur G25, G44 et G65 ?
Le premier tableau est vide.
Les autres comportent quelques formules (hormis celles donnant une erreur de référence). Par exemple en H26 :
Code:
=SI(H6=0;0;ARRONDI.INF((H6/$L$23)/$J$23;0))
Comme je ne vois pas ce qu'on recherche, juste une remarque : Si J23 ou L23 sont égales à 0, on aura une erreur.

Un petit rappel : personnellement, je ne suis ni télépathe ni devin. Si c'est franchement évident pour un utilisateur habituel du fichier, je n'en suis pas un. Donc, tout ce qui n'est pas écrit, n'existe pas.

Dans ton code, tu utilises des fonctions, comme Private Declare Function GetWindowLongA Lib "user32". Ne sachant pas à quoi elles servent, je ne m'en occupe pas et considère que leurs buts sont remplis.
Pour le reste, je ne suis pas sûr de comprendre le but à atteindre.

Quand je crée un "programme", j'essaie qu'il soit facilement compréhensible. S'il est trop compliqué, qu'il fait intervenir des macros à lancement automatique, je commence toujours par régler les problèmes liés à celles-ci. Mais on peut commencer à un bout, ou l'autre

Là tu es noyé par les problèmes d'inscription, qui génèrent d'autres problèmes par le code des macros automatiques. Je te conseillerais de faire une copie de ton fichier, et de supprimer tout le code. Puis de remettre une macro, et de la tester. Puis, quand tous les bogues sont traités, de rapatrier une autre macro et de faire de même pour chaque macro : quand tu ne t'intéresses qu'à une action, tu peux la traiter rapidement et facilement. Quand il y en a plusieurs, d'où provient la panne...
A+
 
Dernière édition:
Re : VBA Somme évenementielle

Bonsoir Gorfael, j'ai repensé mon projet pas à pas, comme tu me l'as conseillé. Maintenant avec USF je peux choisir ce que je veux, çà me renvoi les valeurs que souhaite sur les différents tableaux. Sur le 1er tableau de droite j'ai bien les sommes en ligne, mais je n'arrive pas à avoir le total en N21 et O21. Peux-tu me dire si ma démarche est la bonne, jusqu'à ce stade et comment faire cette somme en N21 et O21.
J'espère être dans une construction logique, je sais que tu vas me dire "mais qu'est-ce que tu veux faire exactement", c'est très compliqué et je dois passer par ces étapes pas à pas.
Merci de ton aide.
Je joints mon fichier
@+
 

Pièces jointes

- 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
7
Affichages
987
  • Question Question
Microsoft 365 Export données
Réponses
4
Affichages
906
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…