• Initiateur de la discussion Initiateur de la discussion J.Louis
  • 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 !

J

J.Louis

Guest
Bonjour le forum,

est ce possible dans une macro de faire une copie particulière

feuille A copier de A10 a dernière cellule occupée
copier de C10 a dernière cellule occupée ( si colonne A fait 55 lignes, le C en aura autant)

et de coller le tout sur 2 colonnes en Feuille B

ce code sera lié a un commandbutton

ça serait génial si ça peut se faire
merci d'avance

JL
 
Bonjour


Un moyen simple de réaliser ta copie


outil macro nouvelle

tu réalises ta copie et tu arretes l'enregistrement de la macro quand tu as terminé.


Tu viens de réaliser une macro


Il suffit de coller le code généré sur un bouton et le tour est joué.
 
salut Dg, le forum

Ce genre de macro je sé faire mais le soucis c que je n'aurais pas forcémént toujours le même nombre de lignes a copier
a moins de compter très large sur la sélection

merci de ton aide
je vé essayer de m'adapter

bonne fin de dimanche

JL
 
re tout le monde

Merci Galopin

je ne peux pas essayer ton code pour le moment
j'ai oublié de dire que je vé avoir des lignes vides dans mes 2 colonnes a copier! Incidence ou pas ?

je me permets de te solliciter vu la maitrise que tu as en VBA
le code suivant m'a été donné par Léa (merci encore) je voudrais simplement au départ du code déprotéger la feuille et à la fin la reprotéger. je sé que c faisable mé je sé pas comment ! 😉

merci bcp !

Sub copie()
With acticeCell
N = ActiveCell.Rows.Row
End With

Rows(N & ':' & N + 6).Select
Range('O' & N).Activate
Selection.Copy
Rows(N + 7 & ':' & N + 7).Select
ActiveSheet.Paste
Range('A' & N + 7 & ':A' & N + 12).Select
Application.CutCopyMode = False
Selection.ClearContents

End Sub
 
re galopin

comment modifier ça pour que ça agisse sur la feuille active ?

Sub Test()
Worksheets(1).Range(('A10'), Range('A10').End(xlDown)).Copy Worksheets(2).Range('A1')
Worksheets(1).Range(('C10'), Range('C10').End(xlDown)).Copy Worksheets(2).Range('B1')
End Sub

merci encore pour tout

JL
 
re galopin

comment modifier ça pour que ça agisse sur la feuille active ?

Sub Test()
Worksheets(1).Range(('A10'), Range('A10').End(xlDown)).Copy Worksheets(2).Range('A1')
Worksheets(1).Range(('C10'), Range('C10').End(xlDown)).Copy Worksheets(2).Range('B1')
End Sub

merci encore pour tout

JL
 
Sorry,
La feuille active étant la feuille de départ ou la feuille d'arrivée ?

j'ai modifié le code pour l'adapter à la protection / Déprotection et pour tenir compte de tes observations :

à coller dans un module ordinaire (autre que les modules de feuilles...)

Sub Test()
Worksheets(1).Unprotect
Worksheets(2).Unprotect
i = Worksheets(1).Range('A65536').End(xlUp)(2).Row
Worksheets(1).Range('A10:A' & i).Copy Worksheets(2).Range('A1')
Worksheets(1).Range('C10:C' & i).Copy Worksheets(2).Range('B1')
Worksheets(1).Protect DrawingObjects:=True
Worksheets(2).Protect DrawingObjects:=True
End Sub

Si la feuille active est Worksheets(1) tu peux remplacer Worksheets(1) par ActiveSheet.
sinon tu remplaces Worksheets(2) par ActiveSheet.

Ok ?
 
re tout le monde et Galopin en particulier

voilà le code adapté a ma feuille :

Sub Test()
ActiveSheet.Range(('A16'), Range('A16').End(xlDown)).Copy Worksheets('Infos').Range('F15')
ActiveSheet.Range(('C16'), Range('C16').End(xlDown)).Copy Worksheets('Infos').Range('G15')
End Sub

mé le soucis dans la copie ça me copie tout :le format (cellules fusionnées) la mise en forme etc etc

Y a til possibilités de récupérer et copier que les valeurs ?

Merci encore une nouvelle fois

JL
 
Re:
oui c'est le danger de mélanger les questions

J'ai donc fini par comprendre que c'est dans le code de Léa que tu voulais protéger et déprotéger :
il n'y a pas de problème pour
ActiveSheet.Unprotect
...
et à la fin
ActiveSheet.Protect DrawingObjects:=True


J'en profite donc pour allèger la dernière mouture qui supporte maintenant les lignes vides...

Sub Test()
i = Worksheets(1).Range('A65536').End(xlUp)(2).Row
Worksheets(1).Range('A10:A' & i).Copy Worksheets(2).Range('A1')
Worksheets(1).Range('C10:C' & i).Copy Worksheets(2).Range('B1')
End Sub

Il subsiste la dernière inconnue. Quelle est la Feuille Active?
Mais sur le fond ça n'a pas d'importance, tu peux (c'est même conseillé )remplacer :
Worksheets(1)... par ActiveSheet ou Worksheets('Feuil1') par exemple et...
Worksheets(2)... par Worksheets('Feuil2')

Worksheets(1)... ou (Feuil1) étant le nom de ta feuille Source
Worksheets(2)... ou (Feuil2) étant le nom de ta feuille Cible

A+
 
Re :
Sub Test()
i = ActiveSheet.Range('A65536').End(xlUp)(2).Row
ActiveSheet.Range('A16:A' & i).Copy
Worksheets('infos').Range('F15').PasteSpecial Paste:=xlPasteValues
ActiveSheet.Range('C16:C' & i).Copy
Worksheets('infos').Range('G15').PasteSpecial Paste:=xlPasteValues
End Sub

?
 
Re galopin

je te joins un extrait de mon fichier
le bouton concerné est 'test' sur feuille matrice et c le module1 qui est concerné

regarde le résultat en feuille Infos et matrice
y a t il possibilité d'améliorer un peu ?

tu vas avoir le débogage puisque il manque la feuille a afficher a l'ouverture

dis mille merci pour ton aide

JL [file name=JOELbis.zip size=22289]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/JOELbis.zip[/file]
 
- 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
323
Réponses
10
Affichages
407
Retour