Macro excel pour stockage de données
Fermé
octavio2
Messages postés
3
Date d'inscription
mardi 8 juillet 2008
Statut
Membre
Dernière intervention
14 juillet 2008
-
8 juil. 2008 à 21:19
octavio2 Messages postés 3 Date d'inscription mardi 8 juillet 2008 Statut Membre Dernière intervention 14 juillet 2008 - 14 juil. 2008 à 10:45
octavio2 Messages postés 3 Date d'inscription mardi 8 juillet 2008 Statut Membre Dernière intervention 14 juillet 2008 - 14 juil. 2008 à 10:45
A voir également:
- Macro excel pour stockage de données
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Liste déroulante excel - Guide
- Espace de stockage gmail plein - Guide
- Formule excel pour additionner plusieurs cellules - Guide
- Si et excel - Guide
1 réponse
titus17
Messages postés
1
Date d'inscription
mardi 8 juillet 2008
Statut
Membre
Dernière intervention
8 juillet 2008
1
8 juil. 2008 à 23:35
8 juil. 2008 à 23:35
Voici un code qui effectue un transfert de données d'une feuille à une autre (ici de la feuille import vers la feuille données).
en résumé la macro :
1) active la feuille 'import' sélectionnes la plage de données A1->A50 puis les copie
2) active la feuille 'données' se place en cellule A1, puis effectue une boucle qui à pour but de tester si la cellule active est vide (sens du balayage en ligne c'est à dire A1 puis A2 puis A3 ...).
Dés qu'une cellule vide est identifiée, la macro colle les données.
Sub transfert()
'selection de la feuille
Sheets("import").Select
'selection de la plage de données
Range("A1:A50").Select
Selection.Copy
'selection de la feuille
Sheets("donnees").Select
'positionnement de debut
Range("A1").Select
'boucle de balayage pour tester si la cellule active est vide
Do While ActiveCell <> ""
ActiveCell.Offset(0, 1).Select
Loop
'collage des données
ActiveSheet.Paste
End Sub
Attention les données de départ sont copiées et non pas coupées en conséquence elles sont toujours présentes dans ta feuille 'import'
Si tu veux les effacer place en fin de macro après ActiveSheet.Paste le code suivant :
'selection de la feuille
Sheets("import").Select
'selection de la plage de données
Range("A1:A50").Select
Selection.ClearContents
Range("A1").Select
en résumé la macro :
1) active la feuille 'import' sélectionnes la plage de données A1->A50 puis les copie
2) active la feuille 'données' se place en cellule A1, puis effectue une boucle qui à pour but de tester si la cellule active est vide (sens du balayage en ligne c'est à dire A1 puis A2 puis A3 ...).
Dés qu'une cellule vide est identifiée, la macro colle les données.
Sub transfert()
'selection de la feuille
Sheets("import").Select
'selection de la plage de données
Range("A1:A50").Select
Selection.Copy
'selection de la feuille
Sheets("donnees").Select
'positionnement de debut
Range("A1").Select
'boucle de balayage pour tester si la cellule active est vide
Do While ActiveCell <> ""
ActiveCell.Offset(0, 1).Select
Loop
'collage des données
ActiveSheet.Paste
End Sub
Attention les données de départ sont copiées et non pas coupées en conséquence elles sont toujours présentes dans ta feuille 'import'
Si tu veux les effacer place en fin de macro après ActiveSheet.Paste le code suivant :
'selection de la feuille
Sheets("import").Select
'selection de la plage de données
Range("A1:A50").Select
Selection.ClearContents
Range("A1").Select
9 juil. 2008 à 18:56
je te remercie;
par contre, je ne veux pas simplement "coller", mais "coller les valeurs" car mes données sont classées et regroupées avec des liaisons ....
comment faire ?
merci
14 juil. 2008 à 10:45
je gère....