[excel vba] Pb affectation macro à un bouton

Thomaaaas Messages postés 4 Date d'inscription   Statut Membre Dernière intervention   -  
michel_m Messages postés 16602 Date d'inscription   Statut Contributeur Dernière intervention   -
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   Statut Membre Dernière intervention  
 
Petite précision : Excel 2010 :)
0
michel_m Messages postés 16602 Date d'inscription   Statut Contributeur Dernière intervention   3 314
 
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   Statut Membre Dernière intervention  
 
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 16602 Date d'inscription   Statut Contributeur Dernière intervention   3 314
 
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   Statut Membre Dernière intervention  
 
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 16602 Date d'inscription   Statut Contributeur Dernière intervention   3 314
 
Bonjour,

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