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
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
A voir également:
- Aide pour une fonction d'un bouton excel
- Liste déroulante excel - Guide
- Excel fonction si et - Guide
- Déplacer une colonne excel - Guide
- Fonction moyenne excel - Guide
- Fonction somme excel - Guide
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
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
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
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
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
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
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
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
Bonne continuation et encore bravo merci beaucoup
c'est quand même bien pratique excel ^^
merci à toi
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
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
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
8 juin 2013 à 08:21
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
8 juin 2013 à 09:30
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.