Copier une plage de cellules dans la même feuille après la dernière ligne v
Bonjour
J'arrive sur ce forum et suis âgé de 76 ans..ne connaissant pas le VBA. J'ai essayé de modifier un code existant mais je m'y perds et ne parlant pas anglais c'est un peu difficile pour moi de comprendre.
Je vous explique mon problème et vous mettrais le morceau de code que j 'essaye de construire.... en vain.
Merci de votre indulgence pour mon peu de connaissance à ce sujet
Après la dernière ligne utilisée de la colonne A, Je souhaite donc copier avec un Bouton de commande dédié, une plage " type " qui va de A29 à AO35, qui est masquée et qui --_ _ contient des données " protégées" (formules excel et titres divers )
_ et des données libres d'accès qui sont celles à compléter par l'utilisateur. La partie qui devra être complétée ne contient que du texte, des dates, et des listes déroulantes de choix.
En fonction des choix effectués dans les listes déroulantes mon tableau met à jour des données qui sont automatiquement comptabilisées.
Mon tableau fonctionne parfaitement sauf que au fur et à mesure de son utilisation je dois copier manuellement " la plage type vierge des données" par copier coller de la zone A29 à AO35 pour que l'utilisateur puisse en avoir plusieurs d'avance et les compléter
C'est pour cela que je souhaite que l'utilisateur puise à l'aide d'un bouton déclencher une macro qui copierai une plage vierge disponible après dernière ligne utilisée de la colonne A . Ceci m'éviterait de devoir intervenir pour cette manip, car l'utilisateur final ne connait rien a EXCEL....il se contente de remplir les cases demandées
pour l'instant je n'ai donc pas d'autre solution que de faire toute une série de copier coller pour avoir une avance suffisante de fiches à compléter
Le code doit tout copier...la protection, le format des cellules, des nombres dates etc....
Voici le code que j'ai essayé de faire pour le modifier mais n'y comprends pas grand chose
Sub copier_A29AO35_Coller
Dim ws_feuil_1 As worksheet ' si j'ai bien compris 'identifie feuille ou sont prises les données
Dim ws_feuil_1 As worksheet 'Ici 'identifie feuille ou sont copiées les données qui sont déplacées
Dim der_ligne_1 As Long
Set ws_feuil1 = worksheet (1) 'je ne sais pas comment modifier pour que ça reste en feuil 1et si cette ligne est utile....
dern_ligne_1 = ws_feuil1.Cells(Rows.Count1).End(xlUp).Row
ws_feuil1 . cells (A29,AO35). Copy ws_feuil1.(der_ligne+1,1) 'je ne sais pas comment modifier pour que ça reste en feuil 1
comme vous pouvez le constater " je suis nul " je mélange tout et peut-être quelqu'un aura t-il la gentillesse de m'aider pour me trouver un code. Ce ne sera pas faute de ne pas avoir essayé mais débuter à mon âge n'est pas facile
Merci par avance pour votre gentillesse même... si personne ne m'aide
Bonsoir Jemelance59
En l'absence de votre fichier, il est difficile de vous apporter une aide.
Veuillez le joindre à votre message
Superpépé (un peu plus jeune que vous...)
Cordialement
Je tente quand même une réponse, au risque qu'elle ne réponde pas exactement à vos besoins.
Essayez le code suivant:
Sub copier_A29AO35_Coller()
Dim F1 As Worksheet
Dim der_ligne As Long
Set F1 = Worksheets(1)
der_ligne = F1.Cells(Rows.Count, 1).End(xlUp).Row
F1.Range("A29: AO35").Copy Destination:=F1.Cells(der_ligne + 1, 1)
End Sub
Si cela solutionne votre problème, il faudra encore attribuer cette macro (= ce code) à un bouton.
Puck à suivre...
Superpépé
Bonsoir Superpépé
Un grand merci pour ce code que je testerai demain matin car je ne suis pas chez moi aujourd'hui.
Je m'engage à approfondir la construction de ce code pour bien le comprendre et voir comment ça fonctionne.
Une trés bonne soirée ...ou journée à vous suivant l'heure ou vous lirez ce message.
cordialement
Bonjour Superpépé
Comme promis j'ai essayé ce code qui fonctionne bien.
je l'ai compris et complété car ma feuille de calcul est protégée , et j'ai pu modifier tout seul !
Pour le bouton je vois ça ultérieurement car j'ai compliqué mon tableau et j'ai beaucoup de choses à revoir
Merci pour votre aide et surtout votre compréhension.
Cordialement à vous
Bonjour Jemelance59
Tout d'abord je vous félicite pour votre démarche qui prouve que, contrairement à ce que vous avez écrit dans les dernières lignes de votre premier message, vous n'êtes pas nul du tout! Demander de l'aide et ensuite chercher à comprendre la solution proposée est une très bonne façon d'apprendre. Bravo, c'est génial que vous ayez compris et modifié vous-même le code que je vous avais proposé.
Sachez qu'il est possible de faire une petite adaptation pour que la macro copie plusieurs fois "la plage type vierge" au bas de votre feuille de calcul.
N'hésitez pas à poser d'autres questions en cas de besoin, et je vous précise encore qu'il est plus facile de vous apporter de l'aide si vous joignez votre fichier au message. Mais faites toujours attention à la protection des données... ne mettez que des fichiers qui ne contiennent aucune donnée personnelle!
Meilleures salutations
Superpépé (Suisse, canton de Fribourg, district de la Sarine)
Bonjour Superpépé
Merci de vos commentaires. Pour l'instant j'ai bricolé " un truc " mais j'envisage d'ici 1 mois (car pas trop de temps libre) de gérer mes données avec un tableau sous forme de base de données. Peut être nous recroiserons nous à ce moment la. Mais il faut d'abord que je réfléchisse bien à la structure et aux nombreux aléas possibles
Belle journée à vous
Cordialement