Macro Excel:copier cellules vers feuille2
plavernhe
Messages postés
2
Statut
Membre
-
Syzygy Messages postés 404 Statut Membre -
Syzygy Messages postés 404 Statut Membre -
Bonjour,
je sollicite votre aide car je dois créer un formulaire de demande d'achat sur Excel.
Avec ce formulaire je souhaiterais que les données soient saisie par l'utilisateur du formulaire en feuille 1 et que seulement certaines de ces données soient copier dans un tableau en feuille 2 pour garder un historique des demandes.
Il faudrait donc créer une macro ayant les actions suivantes:
- copie les cellules A3, F2, F8, A11 & A8 de la feuille 1 dans un tableau de la feuille 2
Ce tableau comporte donc 5 colonnes, A3 se copie dans la colonne A, F2 dans la colonne B, F8 dans la colonne C, A11 dans la colonne D et A8 dans la colonne 2.
- trouve dans le tableau de la feuille 2 la derniere ligne pleine et insere dans une nouvelle ligne les données de la feuille 1 (pour le 1er engeristrement, la premiere ligne vide du tableau est la ligne 2, la ligne 1 servant aux intitulés)
-enregistre le fichier et imprime la feuille 1
- efface les cellules A3, F2, F8, A11 & A8 et les cellules A16*I28 de la feuille 1, mais sans que la ligne enregistée dans la feuille 2 ne s'efface.
- enregistre de nouveau le fichier de manière à ce qu'il soit pret et vide pour une nouvelle utilisation.
Est-ce possible? Merci de votre aide
Pauline
je sollicite votre aide car je dois créer un formulaire de demande d'achat sur Excel.
Avec ce formulaire je souhaiterais que les données soient saisie par l'utilisateur du formulaire en feuille 1 et que seulement certaines de ces données soient copier dans un tableau en feuille 2 pour garder un historique des demandes.
Il faudrait donc créer une macro ayant les actions suivantes:
- copie les cellules A3, F2, F8, A11 & A8 de la feuille 1 dans un tableau de la feuille 2
Ce tableau comporte donc 5 colonnes, A3 se copie dans la colonne A, F2 dans la colonne B, F8 dans la colonne C, A11 dans la colonne D et A8 dans la colonne 2.
- trouve dans le tableau de la feuille 2 la derniere ligne pleine et insere dans une nouvelle ligne les données de la feuille 1 (pour le 1er engeristrement, la premiere ligne vide du tableau est la ligne 2, la ligne 1 servant aux intitulés)
-enregistre le fichier et imprime la feuille 1
- efface les cellules A3, F2, F8, A11 & A8 et les cellules A16*I28 de la feuille 1, mais sans que la ligne enregistée dans la feuille 2 ne s'efface.
- enregistre de nouveau le fichier de manière à ce qu'il soit pret et vide pour une nouvelle utilisation.
Est-ce possible? Merci de votre aide
Pauline
A voir également:
- Macro Excel:copier cellules vers feuille2
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Liste déroulante excel - Guide
- Word et excel gratuit - Guide
- Si ou excel - Guide
- Déplacer colonne excel - Guide
2 réponses
bonjour
C'est possible bien sûr mais qu'appelles-tu "formulaire" : n'est-ce pas tout simplement un tableau ?
NB : faire 2 enregistrements ne sert à rien puisque le deuxième écrase le premier.
C'est possible bien sûr mais qu'appelles-tu "formulaire" : n'est-ce pas tout simplement un tableau ?
NB : faire 2 enregistrements ne sert à rien puisque le deuxième écrase le premier.
Bonjour,
Je rejoins l'avis de gbinforme, cela est tout a fait réalisable. Si vous savez vous servir de l'enregistreur de macro, vous pouvez presque tout automatiser sans écrire une ligne de code.
Le seul point pouvant poser problème sera le fait d se placer à la suite de votre dernier enregistrement dans le tableau de sauvegarde en feuille 2.
Le code pour compter le nombre de ligne présente dans une colonne et pour se placer à la ligne suivante est celui-ci :
Dim NombreLigne As Integer
Sheets("MaFeuille").Select 'Sélectionne la feuille "MaFeuille"
NombreLigne = Application.WorksheetFunction.CountA(Range("A:A")) 'Compte le nombre de cellule non-vide dans votre tableau
Range("A" & NombreLigne + 1).Select 'Place le curseur en colonne A à la suite du dernier enregistrement.
Si vous n'êtes pas à l'aise avec VBA, mettez votre fichier sur http://www.cijoint.fr/
Cela sera plus pratique pour que nous puissions vous aider.
Je rejoins l'avis de gbinforme, cela est tout a fait réalisable. Si vous savez vous servir de l'enregistreur de macro, vous pouvez presque tout automatiser sans écrire une ligne de code.
Le seul point pouvant poser problème sera le fait d se placer à la suite de votre dernier enregistrement dans le tableau de sauvegarde en feuille 2.
Le code pour compter le nombre de ligne présente dans une colonne et pour se placer à la ligne suivante est celui-ci :
Dim NombreLigne As Integer
Sheets("MaFeuille").Select 'Sélectionne la feuille "MaFeuille"
NombreLigne = Application.WorksheetFunction.CountA(Range("A:A")) 'Compte le nombre de cellule non-vide dans votre tableau
Range("A" & NombreLigne + 1).Select 'Place le curseur en colonne A à la suite du dernier enregistrement.
Si vous n'êtes pas à l'aise avec VBA, mettez votre fichier sur http://www.cijoint.fr/
Cela sera plus pratique pour que nous puissions vous aider.