Sélection de données d'un onglet vers un autre
Bonjour à tous,
Cela fait quelque temps que je consulte le net à la recherche d'un code que je pensais simple mais qui en faite est très complexe pour moi et mon niveau en VBA !
Je m'explique ; je souhaite écrire un code qui me copie les données d'un onglet nommé "Formulaire" de la cellule A7 jusqu'à la dernière cellule de remplie pour ensuite pouvoir les coller dans la cellule A5 d'un autre onglet nommé "Base" du même classeur.
Bien évidement les données à copier sont aléatoires : je peux avoir les cellules A7,A8 et A9 de remplie comme une autre fois uniquement la cellule A7. Et c'est là mon problème, je n'arrive pas à écrire la boucle qui prend en compte cette variable
Je vous joints mon fichier Excel qui pourra peut-être vous aider à mieux comprendre mon cas et sinon je reste à votre dispo pour répondre à vos questions car ce n'est évident d'expliquer et de se faire comprendre !!!
En attendant, je vous remercie pour vos cours VBA car ils m'ont déjà pas mal dépanné et fait apprendre pleins de choses nouvelles en VBA
Cordialement,
Denis.
Bonjour
Je ne sais si j'ai compris
Option Explicit
Sub Recopie()
If Range("A7") = "" Then
MsgBox "La désignation est obligatoire"
Exit Sub
End If
Application.ScreenUpdating = False
Range("A7:A23").Copy
Sheets("Base").Range("A" & Rows.Count).End(xlUp).Offset(1, 0).PasteSpecial Paste:=xlPasteValues, Transpose:=True
Application.CutCopyMode = False
Range("A7").Select
End SubBonsoir Banzai64,
Merci pour ta réponse.
Je n'ai pas voulu parler de la colonne B de l'onglet "Formulaire" pour ne pas trop compliquer mes explications ! Car les champs qui sont inscrits deviendront les entêtes de cellule dans l'onglet "Base" mais pour ça je pense que j'ai la macro qui faut !
Mais tu m'as tout de même permis de recopier les données vers l'onglet Base, j'ai uniquement supprimer l'instruction " Transpose:=True " pour que les références se recopie dans la colonne A à partir de la cellule A5 et ça c'est déjà super !
Par contre le seul risque auquel je pense, c'est quand j'aurais beaucoup de références à recopier, cela pourra aller jusqu'à une centaine de réf, je dois surement déclarer une variable ou faire une boucle qui dirait que tant la dernière cellule n'est pas vide alors je recopie vers l'onglet Base mais je n'y arrive pas !
Merci,
Bonne soirée !
Bonsoir
Le plus simple
Tu prépares un fichier avec des données et un exemple (ou plusieurs) de ce que tu veux
Parceque pour le moment je n'arrive pas à imaginer ce que tu dis
Parceque pour le moment je n'arrive pas à imaginer ce que tu dis
Je comprends que ça ne doit vraiment pas être évident, ça me paraissait simple mais j'y ais le nez dedans depuis 3 jours lol
Donc j'ai remplie le fichier Excel comme je souhaite qu'il aboutisse et je vais essayer de décrire les tâches que je fais manuellement à chaque fois que j'utilise ce fichier :
1- Copie des cellules de A7 à A9 que je colle en cellule A5 de l'onglet Base et je nomme la cellule A4 : Ref
2- Copie des cellules B4, C4, D4, E4 de l'onglet Formulaire que je colle en cellule B4 dans l'onglet Base en utilisant le collage spécial "Transposé" pour avoir ces champs en ligne et non plus en colonne.
3- J'effectue des RecherveV pour compléter le reste des cellules de l'onglet Base ( cellules de B5 à E7 )
Voilà les tâches que je fais à chaque fois que j'utilise ce fichier et pour compliquer la macro un jour j'aurais que 3 réfs comme dans l'exemple et la fois d'après j'aurais peut être 5 ou 10 réfs, cela dépend de la demande faite par un collègue donc totalement aléatoire !
J'ai essayé plusieurs lignes de code qui permettent de copier/coller en utilisant une boucle qui s'arrête dès lorsque la ligne suivante est vide mais bien évidemment cela ne marche pas dans mon cas !!
J'espère avoir été clair, sinon ce n'est pas bien grave, cela ne me demande pas trop de temps à le faire à la main
En tout cas je te remercie pour ta patience et ta disponibilité ; il me faudrait des collègues comme toi dans mon taf 8)
Bonsoir
Essayes de te relire avant de valider ton message
Ne serait-ce pas les cellules B6, B7,B8, B9 ?denis15 a écrit :Copie des cellules B4, C4, D4, E4 de l'onglet Formulaire
denis15 a écrit :3- J'effectue des RecherveV pour compléter le reste des cellules de l'onglet Base ( cellules de B5 à E7 )
Pour cela sans renseignement supplémentaires, pas facile de t'aider
A tester
Bonjour tout le monde ,Bonjour Banzai64 !
Je te remercie c'est exactement cela qui me fallait, je viens de le tester ce matin, ça fonctionne aux petits oignons
Oups tellement concentré sur le reste de mes explications que j'en ai pas vu cette bouletteCopie des cellules B4, C4, D4, E4 de l'onglet Formulaire
3- J'effectue des RecherveV pour compléter le reste des cellules de l'onglet Base ( cellules de B5 à E7 )
Pour cela sans renseignement supplémentaires, pas facile de t'aider
Je n'ai pas trop le temps de mis pencher dessus ce matin mais je souhaite essayer avant de venir chercher la solution auprès de vous mais une chose est sûr je n'hésiterai pas à l'avenir de poser une question sur ce forum !
En attendant, merci pour ton aide !!