Aide pour une fonction d'un bouton excel

Résolu/Fermé
Klothar Messages postés 5 Date d'inscription lundi 3 juin 2013 Statut Membre Dernière intervention 8 juin 2013 - 7 juin 2013 à 13:39
Klothar Messages postés 5 Date d'inscription lundi 3 juin 2013 Statut Membre Dernière intervention 8 juin 2013 - 8 juin 2013 à 20:24
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,


A voir également:

3 réponses

Klothar Messages postés 5 Date d'inscription lundi 3 juin 2013 Statut Membre Dernière intervention 8 juin 2013
Modifié par Klothar le 7/06/2013 à 23:18
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
0
PHILOU10120 Messages postés 6373 Date d'inscription lundi 16 avril 2012 Statut Contributeur Dernière intervention 17 mai 2024 800
8 juin 2013 à 08:21
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
0
Klothar Messages postés 5 Date d'inscription lundi 3 juin 2013 Statut Membre Dernière intervention 8 juin 2013
8 juin 2013 à 09:30
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.
0
PHILOU10120 Messages postés 6373 Date d'inscription lundi 16 avril 2012 Statut Contributeur Dernière intervention 17 mai 2024 800
Modifié par PHILOU10120 le 8/06/2013 à 10:49
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
0
Klothar Messages postés 5 Date d'inscription lundi 3 juin 2013 Statut Membre Dernière intervention 8 juin 2013
8 juin 2013 à 20:24
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
0
PHILOU10120 Messages postés 6373 Date d'inscription lundi 16 avril 2012 Statut Contributeur Dernière intervention 17 mai 2024 800
7 juin 2013 à 17:44
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
-1