Tableau de calcul

Résolu
cs_laurent27 Messages postés 1 Date d'inscription jeudi 16 juin 2005 Statut Membre Dernière intervention 1 juillet 2005 - 1 juil. 2005 à 13:48
ScSami Messages postés 1488 Date d'inscription mercredi 5 février 2003 Statut Membre Dernière intervention 3 décembre 2007 - 2 juil. 2005 à 01:09
Bonjour,débutant sur excel et novice sur vb
j'ai créé sur excel un tableau de calcul présentant différentes familles d'un même produit sur plusieurs feuilles (une famille par feuille).
Sur ce tableau il n'y a que 2 cellules (a6et c6) où l'on apporte manuellement des données et donc cela modifie plusieurs eléments pour me donner 1 resultat sur la case h58.

Maintenant je voudrais créer une amélioration à ce type de tableaux "automatique".
En fait, toujours sur le même principe, c'est à dire qu'un changement des cases a6et c6 provoque un calcul qui me donne le résultat dans la case h58;
Je souhaiterais pouvoir , d'une simple manipulation (comme par exemple appuyer sur un bouton) incrémenter automatiquement de 100 chacune des cases a6et c6.
Cela m'éviterai de le faire manuellement à chaque fois ( ce qui prend beaucoup de temps ;)
avec a6 pour un départ de 1000 jusqu'à 2500
avec c6 pour un départ de 500 j'usqu'à 1000
donc la excel je m'en sortait mais là je crois que vb est indispensable y'aurai t'il des exemples ou je pourrai prendre un bon départ au niveau prog.
MERCI D'AVANCE

1 réponse

ScSami Messages postés 1488 Date d'inscription mercredi 5 février 2003 Statut Membre Dernière intervention 3 décembre 2007 24
2 juil. 2005 à 01:09
Rien de plus facile!!! Cependant, il faut nous en dire
plus... Déjà, sous quelle version de Excel tu travailles (faut toujours
le dire... pense-y!). Ensuite, comment se nomment tes feuilles et
combien sont-elles (sont-elles de nombre variable ou pas ???). Il faut
également savoir où précisément tu veux mettre ce bouton (d'ailleurs,
y'en a-t-il un seul pour les 2 cellules ou alors en faut-il un pour
chacune d'entre elles [donc 2... ou alors 2 sur chaque page
???] ???) : sur la 1ère page, sur chacune des pages, sur une autre page
(la dernière par exemple), sur une fenêtre utilisateur (UserForm), ...



Sinon, c'est tout bête... Il faut faire appel à la procédure
événementielle "Click" de ton bouton... Pour l'écrire automatiquement
[ce que je te conseille vivement!] il faut, dans l'IDE (l'interface de
programmation : l'éditeur VBA), dans la page de code (du "truc" dans
lequel ton bouton a été placé [feuille ou fenêtre]), en haut il y a
deux listes déroulantes. Dans celle de gauche il doit y avoir listé
tous tes contrôles (c'est à dire, boutons et autres listes, champs de
texte, ...) dont ton bouton qu'il faut sélectionner. Un fois
sélectionné, dans la liste de droite doit apparaître la liste de toutes
les procédures événementielles possibles pour ce "contrôle" (ton bouton
donc). Celui sélectionné par défaut est "Click". Théoriquement, tu n'as
même pas besoin de le choisir dans la liste pour avoir fait apparaître
dans ton code la déclaration de cette procédure événementielle (qui se
déclenchera/exàcutera donc lorsque l'utilisateur cliquera sur le
bouton).



Ensuite, il suffit de faire référence à tes deux cellules et de les incrémenter des valeurs voulues :



Private Sub CommandButtun1_Click()

Sheets("Feuil1").Range("A6").Value =
Sheets("Feuil1").Range("A6").Value + 100

Sheets("Feuil1").Range("C6").Value = Sheets("Feuil1").Range("C6").Value + 100

End Sub



( Nota : Code à vérifier car
abstrait et
fait de tête...)



Mais si tu as plusieurs feuilles, tu peux aussi faire une boucle ForTo/Next ou une boucle ForEach/Next...



Après tu peux aussi gérer la décrémentation (suppréssion de 100) ou
alors la réinitialisation via d'autres boutons... Dans mon exemple,
bien sûr, je n'ai pas traité les limites (1'000 => 2'500) mais un
simple "If ... Else ..." fera l'affaire!



Le mieux serait de te mettre sérieusement à la programmation car c'est pas trop compliqué


Enjoy

<hr size="2" width="100%">
(Si une réponse vous convient, cliquez sur son bouton "Accepter ...")
3
Rejoignez-nous