Aide pour une fonction d'un bouton excel [Résolu/Fermé]

Signaler
Messages postés
5
Date d'inscription
lundi 3 juin 2013
Statut
Membre
Dernière intervention
8 juin 2013
-
Messages postés
5
Date d'inscription
lundi 3 juin 2013
Statut
Membre
Dernière intervention
8 juin 2013
-
Bonjour,

Je souhaiterai de l'aide svp, j'aimerai une macro (Je sais pas si c'est ça qu'il faut).
Afin que quand je clique sur le bouton "Ajouter" (voir capture d'écran joint).
Une ligne s'ajoute à la suite des autres avec un texte incluant l'année choisie.

Dans la barre de formule vous voyez le texte à copier, il n'y a que l'année qui doit changer.

Lien image : http://hpics.li/ca3e9a2

Je sais pas si j'ai été très clair....

Si une âme généreuse à une astuce.

Merci d'avance,


3 réponses

Messages postés
5
Date d'inscription
lundi 3 juin 2013
Statut
Membre
Dernière intervention
8 juin 2013

Merci beaucoup :) en plus réponse rapide :)
Par contre j'ai du supprimer Application.Goto Reference:="A5" ça me faisait un bug c'est normal ?

Donc la ça me met l'année qui j'ai écrit dans la case jaune à la suite des autres et j'aimerai aussi que du coup ça écrit la ligne à coté

exemple :

origine : 2013 ='2013'!$D$31 ='2013'!$E$31 etc...

J'appuie sur le bouton ça me rajoute :

2014 ='2014'!$D$31 ='2014'!$E$31

C'est possible ou c'est trop complexe ?


Edit : j'ai rajouté : ActiveSheet.Protect

A la fin afin de reverrouillé ma feuille
Messages postés
5535
Date d'inscription
lundi 16 avril 2012
Statut
Contributeur
Dernière intervention
18 février 2021
573
Bonjour

Il faudrait mettre cette formule dans la ligne pour que celle-ci évolue avec l'année

=INDIRECT(ADRESSE(31;4;1;1;A9);1)

cette formule récupère les info ligne 31 colonne 4 en absolue et sur la feuille 2014 correspondant à A9
Si cette formule est sur toutes les cellules de la ligne on peut copier/coller la ligne de formules
Messages postés
5
Date d'inscription
lundi 3 juin 2013
Statut
Membre
Dernière intervention
8 juin 2013

Bonjour merci c'est pas mal en effet.

Voici à quoi doit ressembler ma ligne :
exemple pour la ligne 10 donc 2014

=INDIRECT(ADRESSE(31;4;1;1;A10);1) | =INDIRECT(ADRESSE(31;5;1;1;A10);1) | =B10-C10 | =INDIRECT(ADRESSE(31;7;1;1;A10);1) | =INDIRECT(ADRESSE(31;8;1;1;A10);1) | =E10-F10 | =INDIRECT(ADRESSE(31;11;1;1;A10);1) | =INDIRECT(ADRESSE(31;12;1;1;A10);1) | =I10-H10

Donc ça sa serait ma ligne si j'ai bien compris.
Du coup ya t'il possibilité d'ajouter une ligne de code dans mon bouton pour que cette ligne se mettre en face de l'année et que bah les A10 B10 etc changent en fonction de la ligne ?

Si on peut c'est vraiment cool :)

Merci encore d'avoir prit du temps pour me répondre.
Messages postés
5535
Date d'inscription
lundi 16 avril 2012
Statut
Contributeur
Dernière intervention
18 février 2021
573
Bonjour

Voici le nouveau code

Sheets("annuelle").Select
ActiveSheet.Unprotect
Range("année").Select
Selection.Copy
Selection.End(xlDown).Select
ActiveCell.Offset(1, 0).Activate
Selection.PasteSpecial Paste:=xlPasteFormulas, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
Range("copie_formules").Select
Application.CutCopyMode = False
Selection.Copy
Range("ancre2").Select
Selection.End(xlDown).Select
ActiveCell.Offset(1, 0).Activate
Selection.PasteSpecial Paste:=xlPasteFormulas, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
Range("ancre1").Select
End Sub

la cellule A4 s'appelle année
A5 s'appelle ancre1
B5 s'appelle ancre2
B6:J6 s'appelle copie_formules (les formules créés précédemment sont sur cette ligne)

Pour l'automatiser il faudrait qu'elle s'exécute à l'ouverture du classeur avec un contrôle sur la date du jour comparée à la date prévue pour exécution
Mais je ne sais pas comment on fait sur Excel2010



C'est en forgeant que l'on devient forgeron. - C'est au pied du mur que l'on voit le maçon - on apprend toujours de ses erreurs
Messages postés
5
Date d'inscription
lundi 3 juin 2013
Statut
Membre
Dernière intervention
8 juin 2013

Waaaa un grand merci, chapeau bas, ça marche nickel bon j'ai pas tout comprit à la macro. mais ça marcheeee bravo encore merci.

Bonne continuation et encore bravo merci beaucoup
c'est quand même bien pratique excel ^^

merci à toi
Messages postés
5535
Date d'inscription
lundi 16 avril 2012
Statut
Contributeur
Dernière intervention
18 février 2021
573
Bonjour

Avec ces quelques lignes insérées dans un module

Sheets("annuelle").Select
ActiveSheet.Unprotect
Range("A4").Select
Selection.Copy
Application.Goto Reference:="A5"
Selection.End(xlDown).Select
ActiveCell.Offset(1, 0).Activate
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Range("A1").Select