Un bouton pour faire "+1"

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

R

Raymond Lasc

Guest
Bonjour. Je débute et je dois réaliser un bouton dans une feuille excel qui ferait apparaitre dans une suite de cellule le résultat de "une cellule +1".

Je m'explique : Dans la cellule A1,A2,A3 etc... je dois faire apparaitre B1 + 1,B2 + 1, B3 + 3 etc... (En plus il faut que le B1, B2 etc soient d'un autre onglet) Et que cela se rajoute à chaque fois que le bouton est pressé. 😕

Plus clair : si B1=0, au premier pressage de bouton, A1=1, puis A1=2 au pressage suivant, puis A1=3 au pressage d'après, etc...

C'est une question de macro; ceci un est indice... 😉

Merci.
 
Re : Un bouton pour faire "+1"

Merci beaucoup Joss.

Oui je crois que tu as tout compris. Moi par contre pas sur. En fait je vais prendre un peu de temps pour étudier dans le détail comment tu as construis cette macro. Et essayer de reproduire.

Y a t il un endroit où je puisse trouver la signification des formules ? C'est à dire à quoi signifie range, Sheets etc...

En tous cas, merci, ca me parait même un peu magique... Si tu as un conseil qui te viens, n'hésite pas, je suis tout ouï.

Merci Joss.🙂
 
Re : Un bouton pour faire "+1"

Bon en fait je m'en sors pas. C'est très difficle de découvrir quelle formule va effectuer quoi dans ce langage. Apparement faut connaitre.

En fait g simplifié mon problème, mais j'y arrive pas : Une colonne est attribuée pour le nombre de semaine, et chaque semaine, en appuyant sur un bouton je souhaite activer une macro qui va me rajouter 1 aux valeurs des différentes cellules de la colonne, qui seront utilisées après à l'aide de formules classiques pour afficher une moyenne par rapport aux valeurs contenues dans la ligne.

Voilà je crois que c clair comme de l'eau, de marécage.

Merci quand même.
 
Re : Un bouton pour faire "+1"

Salut

pour comprendre ce qui se passe, il faut que tu te penches sur le langage de programmation vba qui te permet d'interfacer, de sécuriser voire de relooker tes feuilles de calcul. Il existe pas mal d'informations sur le net et une bibliogaphie assez importante également: tu peux essayer le livre de M. Bidault
sur le sujet
 
Re : Un bouton pour faire "+1"

Raymond Lasc à dit:
Merci beaucoup Joss.

Oui je crois que tu as tout compris. Moi par contre pas sur. En fait je vais prendre un peu de temps pour étudier dans le détail comment tu as construis cette macro. Et essayer de reproduire.

Y a t il un endroit où je puisse trouver la signification des formules ? C'est à dire à quoi signifie range, Sheets etc...

En tous cas, merci, ca me parait même un peu magique... Si tu as un conseil qui te viens, n'hésite pas, je suis tout ouï.

Merci Joss.🙂
Salut à tous
code de joss56
Sub Bouton1_QuandClic()

With Sheets(1)
.Range("a1") = .Range("a1") + Sheets("Feuil2").Range("b1") + 1
.Range("a2") = .Range("a2") + Sheets("Feuil2").Range("b2") + 1
.Range("a3") = .Range("a3") + Sheets("Feuil2").Range("b3") + 1
End With

End Sub
Sub défini qui ce qui suit est une macro. Quand tu mets le nom derrière et que tu vas à la ligne, Excel rajoute les parenthèses et le End Sub

End Sub Clôture la macro

with...End With ajout ce qui suit With devant toutes les instructions qui contiennent un séparateur de termes ("." ou "!"). :
With Sheets(1)
.Range("a1") = .Range("a1") + Sheets("Feuil2").Range("b1") + 1
End With
s'écrit quand on est pas assez feignant 😛 :
Sheets(1).Range("a1") = Sheets(1).Range("a1") + Sheets("Feuil2").Range("b1") + 1

Sheets collection de l'ensemble des feuilles d'un classeur. Quand on veut atteindre une seule feuille, on peut la définir soit par sont indice :
Sheets(1) fait référence 1re feuille du classeur
Sheets(2) fait référence 2me feuille du classeur
(mais ça dépend de l'emplacement de la feuille qui peut évomuer), soit par son nom
Sheets("feuil1") fait référence à la feuille "feuil1"

Dans une macro, l'absence de référence à la feuille veut dire qu'elle travaille sur la feuille active (ActiveSheet).
Pour définir une cellule, il y a différente instructions qui le permettent : ici la méthode Range
Range("A1") se traduirait en formule par $A$1 ou R(1)C(1)

donc en formule Excel (désolé, mais en macro, t'es obligé d'utiliser un langage compréhensible par le p'tit mec qui pédale derrière le VBA) l'instruction se traduirait comme ça :
Sheets(1).Range("a1") = Sheets(1).Range("a1") + Sheets("Feuil2").Range("b1") + 1
=> la 1re feuille=feuil1 et la 2me=feuil2
feuil1!$A$1 = feuil1!$A$1 + feuil2!$B$1 + 1

Pas très compliqué, mais assez complexe pour alimenter ce forum (et d'autres). Ton style de problème ne pouvant être résolu que par macro (ou manuellement évidemment), soit tu continues à te fatiguer les doigts, soit tu apprends le VBA dans ton coin, soit tu profites du forum pour te faire du code avec des explications et t'en profites pour apprendre.

A+
 
Re : Un bouton pour faire "+1"

Merci Joss, merci Staple. Je trouve ca supper que des gens puissent prendre de leur temps pour donner des coups de main comme là. Merci.

Je vais prendre un peu de temps pour étudier vos réponses.

Merci Gorfael, ton cours est exactement ce qu'il me fallait. En plus g découvert grace à toi qu'il y avait vraiment quelqu'un derrière le VBA, et que le pauvre pédale à chaque macro...😉

Donc je vais continuer à me familiariser. Ce que je trouve cependant curieux, c'est que j'ai pas trouvé de lexique, de dictionnaire, de fiche sur internet. Pas contre pas mal de liens avec des bouquins à vendre. C'est une information qui me parait un peu reservée. Si je me trompe, pouvez vous me donner des liens qui vous parraissent bien ?

Merci les amis, et bon courage pour vous. 🙂
 
Re : Un bouton pour faire "+1"

Ca y est Staple, g compris ce que tu m'as donné. Et ca marche. Et je peux le refaire.😀

Pour info, peux tu me décoder un peu comment tu l'as construit, et la signification de for et next.

En tout cas c bon pour ma colonne de semaine. Mais je vais continuer a pédaler dans le vba, ca va m'aider pour d'autres trucs dans ce classeur...
 
Re : Un bouton pour faire "+1"

Bonjour

1er conseil (et c'est ce je fais toujours pour chaque logiciel que j'utilise sous windows)

aller voir l'aide en ligne du logiciel

dans notre cas: l'aide de Visual Basic Editor
plus connu sous le nom de VBE

Donc comme je te le disais précedemment
Ouvres Excel
puis appuie sur la touche ALT et en même temps sur la touche
F11
puis appuie sur F1

L'aide de VBE apparait alors

Saisis ensuite For comme mot clé et tu auras des explications .

J'attends donc que tu aies lu ces explications
et alors si tu n'as pas compris le For i =1 To..

Je reviendrais avec une petite explication
 
Re : Un bouton pour faire "+1"

Bonjour

Il suffit de mettre le cd d'installation d'Office

pour installer l'aide VBA

(qui c'est vrai et je l'avais oublié n'est pas installée par défaut)

A défaut du CD (ce qui voudrait dire que...)

Il suffit de se rendre sur le site de microsoft
pour parcourir l'aide

(je n'ai plus l'url en tête)

Une petite viste sur g..gle et voila:
Download details: Office 2003 Editions: Excel VBA Language Reference
(c'est la version anglaise il doit bien y avoir la version francaise
je te le laisse le soin de la trouver)
 
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

Réponses
1
Affichages
343
wDog66
W
Réponses
10
Affichages
407
Réponses
32
Affichages
1 K
Réponses
4
Affichages
651
Retour