[excel vba] Pb affectation macro à un bouton

Fermé
Thomaaaas Messages postés 4 Date d'inscription vendredi 31 janvier 2014 Statut Membre Dernière intervention 2 février 2014 - 31 janv. 2014 à 18:08
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 - 3 févr. 2014 à 08:40
Bonjour à tous,

En quelques mots, j'ai appris à coder VBA sur le tard. C'est pas toujours tres propre mais je m'en sors. Toujours est-il que j'ai un pb récurrent : sur certaines de mes macro, quand je veux l'affecter à un bouton (pour feuille excel), "cette formule est trop compliquée pour etre affectée à un objet". Parfois ca marche, parfois non (la plupart du temps). A noter que la macro fonctionne très bien quand je la fais tourner depuis la page VBA (F5). Je ne comprends pas...


EX sur cette macro toute simple: elle regroupe les onglets suivant dans l'onglet "Recap"
Sub Synth()
Sheets("Recap").Select
EndIndicCode = Range("B1000").End(xlUp).Row
j = 5

For i = 0 To EndIndicCode - 17
feuille = Sheets("recap").Range("c17").Offset(i, 0).Value
Sheets(feuille).Select
Range("A:B").Select
Selection.Copy Destination:=Sheets("Synth").Cells(1, j)
ApplicationCutCopyMode = False
j = j + 3
Next i

Sheets("Synth").Range("A1").Select
End Sub


Jai ecumé les forums avant de poser ma question.
Merci (beaucoup!) d'avance.

PS/C'était ma premiere question sur Commentcamarche, et sur un forum tout court!
A voir également:

5 réponses

Thomaaaas Messages postés 4 Date d'inscription vendredi 31 janvier 2014 Statut Membre Dernière intervention 2 février 2014
31 janv. 2014 à 18:10
Petite précision : Excel 2010 :)
0
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 310
Modifié par michel_m le 1/02/2014 à 07:59
Bonjour,

Tu nous dit que tu veux envoyer en feuille "recap" et dans ton code tu envoies des copies vers la feuille "synth" ?...

tu nous dit aussi elle regroupe les onglets , or, dans ton code tu n'envoie qu'un seul onglet nommé "feuille"... il y aurait alors un bouton dans chaque feuille ?....

dans l'attente...

Michel
0
Thomaaaas Messages postés 4 Date d'inscription vendredi 31 janvier 2014 Statut Membre Dernière intervention 2 février 2014
2 févr. 2014 à 03:25
Bonjour Michel,

Merci pour ta réponse. Quelques précisions :
-En fait dans l'onglet "recap", en C17:C60 : il y a le nom de tous les onglets.
-La variable feuille, permet de les sélectionner les unes apres les autres.
-Afin de copier les colonnes A:B puis de les copier dans l'onglet "Synth" les unes apres les autres (en gros en F:G pour l'onglet 3, puis en I:J pour l'onglet 4...).
Le bouton serait donc uniquement sur "recap" ou sur "synth", peu m'importe :)

Désolé de ne pas avoir été plus clair au départ.
Bonne journée et encore merci.
0
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 310
2 févr. 2014 à 07:55
Bonjour

Quelques lignes m'ont posé des problèmes de compréhension (points d'interrogation)

restitue les valeurs des colonnes A B des feuilles dans "synth";proposition:
Option Explicit
'-------------------------------------------
Sub Synthétiser()
Dim EndIndicCode As Integer, Lig As Integer, Feuille As String
Dim Derlig As Integer, Col As Integer, T_feuille()
'Ecran figé
Application.ScreenUpdating = False

With Sheets("recap")
EndIndicCode = .Range("B1000").End(xlUp).Row
Col = 5
For Lig = 17 To EndIndicCode '???? pas compris les -17
Feuille = .Cells(Lig, "C")
With Sheets(Feuille)
Derlig = .Cells.Find("*", , , , , xlPrevious).Row
T_feuille = .Range("A1:B" & Derlig).Value
Sheets("Synth").Cells(1, Col).Resize(UBound(T_feuille), 2) = T_feuille
Col = Col + 3 '???? +2 si jointif ....
End With
Next
End With
Sheets("Synth").Range("A1").Select
End Sub
Maquette de travail:
https://www.cjoint.com/?3Bch3xUCyLK
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Thomaaaas Messages postés 4 Date d'inscription vendredi 31 janvier 2014 Statut Membre Dernière intervention 2 février 2014
2 févr. 2014 à 19:08
Bonjour Michel,

J'aurai du vous mettre le fichier en PJ depuis le debut.
Bizarrement je peux créer un bouton avec votre fichier mais pas avec le mien (meme en mettant vos macro dans mon fichier).
Ci joint le fichier, j'avais pris l'exemple de la macro A3_OngletSynth. Mais ca s'applique aussi à A2_MajData par exemple. (Et ce alors meme que d'autres macros dans le fichier passent par un bouton -situés dans l'onglet Recap-).

https://www.cjoint.com/?0BcteDPtf8n

Merci pour tout Michel.
Bonne fin de journée.
Cordialement, Thomas.
0
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 310
3 févr. 2014 à 08:40
Bonjour,

Suis absent toute la journée... Sois patient, Merci
0