VBA synthèse donnée, macro à modifier legèrement

  • Initiateur de la discussion Initiateur de la discussion idiomea
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

I

idiomea

Guest
Bonjour à tous,
j'ai trouvé plein de posts fur ce merveilleux forum traitant de ce sujet,
j'ai trouvé mon bonheur mais j'ai du mal à modifier le code pour qu'il soit adapté à mon usage

je le copie ici et je mets mon fichier en annexe

Code:
Sub Bouton52_Clic()

Dim i As Long
Sheets(1).[A1:DV65536].Clear
For i = 2 To Worksheets.Count
With Worksheets(i)
.Range(.[[COLOR="red"]a2[/COLOR]], .[A65536].End(xlUp)).Resize([COLOR="lime"]10, 11[/COLOR]).Copy Sheets(1).[B65536].End(xlUp)([COLOR="Blue"]9[/COLOR])
End With

Next
End Sub


donc si j'ai bien compris (j'ai déjà fais quelques modif pour obtenir ceci elles sont en couleur)
c'est un bouton qui copie les données des onglets du classeur actif
il copie à partir de A2 les cases d'un carré de 10 (hauteur) par 11 (largeur) en ayant comme coin supérieur gauche A2

les données sont copiés les unes en dessous des autres avec 7 cases vides entre les données (j'ai mis 9 mais cela ne fait que 7)

pour changer le coin supérieur gauche j'ai reussi à mettre A2 mais je n'arrive pas par exemple à mettre C3

finalement les données copiés se mettent en dessous des données de l'onglet précedant, je souhaiterais savor comment les mettre à la droites des donnes déjà copiées.

je joins un fichier, avec mon bouton macro et des reperes couleurs et chiffre que je me suis fait pour bidouilles le code.


j'espere avoir été clair
Cordialement
Guillaume
 

Pièces jointes

Re : VBA synthèse donnée, macro à modifier legèrement

j'ai trouvé comment selectionner autre chose en coin gauche supérieur que une case de la colone A

PHP:
Sub Bouton52_Clic()

Dim i As Long
Sheets(1).[A1:DV65536].Clear
For i = 2 To Worksheets.Count
With Worksheets(i)
.Range(.[b5], .[B65536].End(xlUp)).Resize(6, 11).Copy Sheets(1).[B65536].End(xlUp)(9)
End With

Next
End Sub

bonje n'arriv eplus a mettre de la couleur dans mon code 🙁
j'ai mis

[b5], .[B65536]
au lieu de [A5], .[A65536]
😛

je continue mes experiences pour trouver comment coller à droite et non en dessous

Guillaume
 
Dernière modification par un modérateur:
Re : VBA synthèse donnée, macro à modifier legèrement

Bonsoir idiomea, le forum,

Commençons par le plus simple: ton dernier code n'a pas les mêmes couleurs ... mais tu as inséré les balises pour du code php (ceci explique sans doute cela) Utilise les balises CODE comme la première fois.

Pour le reste, il y a deux solutions:
- soit du souhaites faire quelque chose d'assez complexe (que ne laisse pas deviner le fichier que tu as mis en pièce jointe) et pour une raison qui n'est connue que de toi, tu as effectivement besoin de l'espèce de kaléidoscope que tu essaies d'adapter.
- soit (et ça semble probable 😉) tu as trouvé sur cette gigantesque pelote de laine qu'est le forum, un petit bout de fil auquel tu t'accroches ... mais à force de le triturer dans tous les sens, il s'effiloche, s'emmêle et risque de finir par ressembler à une usine à gaz, là où une clé de douze aurait suffi.

Je te propose ce qui suit: plante un clou, fais un noeud provisoire à ton bout de fil et accroche celui-ci au clou. Assieds-toi 5 minutes et dis-nous ce que tu voudrais réaliser (dans le fichier que tu as joint ou dans un autre cadre). Prends le temps de détailler quelles sont les situations qui pourraient se présenter, si les plages de cellules à copier ont toujours la même taille, si tu copies toutes les données des différentes feuilles à un moment ou si tu cherches un système qui te permettrait de les ajouter au moment que tu choisirais, ...

D'accord, c'est plus long à expliquer, mais au moins tu as une chance de recevoir une proposition, une piste, ou -au pire- une demande d'éclaircissement.

Bonne réflexion 😛

Modeste
 
Re : VBA synthèse donnée, macro à modifier legèrement

Bonjour Idiomea, modeste, bonjour à tous,

Si tu veux recopier les colonnes à droite au lieu de en-dessous, essaye le code suivant:

Code:
Sub Bouton52_Clic()
Dim i As Long
Sheets(1).Cells.Clear
For i = 2 To Worksheets.Count
With Worksheets(i)
.Range("A2").Resize(10, 11).Copy Sheets(1).Range("B9").Offset(0, (i - 2) * 13)
End With
Next
End Sub

Le chiffre 13 représente le nombre de colonnes de chaque plage soit 11 + x colonnes de séparation, ici 2. Si tu veux 5 colonnes de séparation, tu mets 16 à la place de 13.

@+

Gael
 
Re : VBA synthèse donnée, macro à modifier legèrement

bonjour Modeste, bonjour Gael,


Merci pour tes conseils Modeste, peut-être que mon message n'était pas suffisement clair pour etre compris ou pas assez implicite. De même je suis désolé d'avoir mis des balises PHp ou lieu de CODE, erreur d'etourderie......


Gael, je te remercie pour cette modification de code, c'est tout bonnement génial, mes données sont toujours à la même place, donc il est parfaitement adapté !!


Est-il possible de maintenant le remodifier un peu (pour corser les choses) ......
j'aimerais qu'il copie non pas les onglets du classeur actif, mais tous les 1er onglets des classeurs présent dans le même dossier.

j'ai vu des codes qui le faisait, mais après je ne pense pas que si j'essaille de faire moi même le melange, que les blancs reussissent à monter.

revoici donc le code adapté à mon problème
Code:
Sub Bouton52_Clic()

Dim i As Long
Sheets(1).Cells.Clear
For i = 2 To Worksheets.Count
With Worksheets(i)
.Range("A2").Resize(10, 11).Copy Sheets(1).Range("B9").Offset(0, (i - 2) * 13)
End With
Next
End Sub


recap :
modification code pour copie de tous les 1er onglets des classeurs présent dans le même dossier que celui contenant ma macro.


besoin de plus de précision ?





Cordialement
Guillaume
 
Dernière modification par un modérateur:
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
3
Affichages
326
  • Question Question
Microsoft 365 Export données
Réponses
4
Affichages
904
Réponses
5
Affichages
912
  • Question Question
XL 2021 VBA excel
Réponses
4
Affichages
452
Retour