Macro extraction de données EXCEL
kriss
-
gbinforme Messages postés 15481 Date d'inscription Statut Contributeur Dernière intervention -
gbinforme Messages postés 15481 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
je débute dans la programmation sous visual basic et je voudrais creer une macro.
ma feuile excel se présente de la maniere suivante : (en résumé)
COL_A COL_B COL_C COLONE_D
FF05200 oui RXCD55GHEF593 12/07/2007
FF05326 oui AG532 10/05/2006
FF89530 non AR589 05/06/2008
FF45200 oui no agreement 13/09/2004
ce qui m'interesse c'est uniquement les colones A et C.
Je voudrai extraire toutes les cases qui ont un code a 13chiffres de la colone C et qui me prene luniquement la colone A qui va avec et qui me la copie sur un nouvel onglet.
en gros ici il me faudrai come résultat : COL_A COL_C
FF05200 RXCD55GHEF593
Comment faire?ais-je était assez clair?
merci de votre aide
COrdialement
je débute dans la programmation sous visual basic et je voudrais creer une macro.
ma feuile excel se présente de la maniere suivante : (en résumé)
COL_A COL_B COL_C COLONE_D
FF05200 oui RXCD55GHEF593 12/07/2007
FF05326 oui AG532 10/05/2006
FF89530 non AR589 05/06/2008
FF45200 oui no agreement 13/09/2004
ce qui m'interesse c'est uniquement les colones A et C.
Je voudrai extraire toutes les cases qui ont un code a 13chiffres de la colone C et qui me prene luniquement la colone A qui va avec et qui me la copie sur un nouvel onglet.
en gros ici il me faudrai come résultat : COL_A COL_C
FF05200 RXCD55GHEF593
Comment faire?ais-je était assez clair?
merci de votre aide
COrdialement
A voir également:
- Macro extraction de données EXCEL
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Liste déroulante excel - Guide
- Trier des données excel - Guide
- Word et excel gratuit - Guide
- Si ou excel - Guide
3 réponses
bonjour
Tu peux faire une macro de ce type
Tu adapte le nom de tes feuilles à ceux de ton classeur
Tu peux faire une macro de ce type
Public Sub sel_copie()
Dim w1 As Worksheet
Dim w2 As Worksheet
Dim l1 As Long
Dim l2 As Long
Set w1 = Worksheets("Feuil1") ' nom de l'onglet base
Set w2 = Worksheets("Feuil2") ' nom de l'onglet copie
w2.UsedRange.Rows.Delete (xlShiftUp) ' suppression données onglet copie
For l1 = 1 To w1.Cells.SpecialCells(xlCellTypeLastCell).Row
If Len(Cells(l1, 3).Value) = 13 Then ' taille colonne C
l2 = w2.Cells.SpecialCells(xlCellTypeLastCell).Row + 1
w2.Cells(l2, 1).Value = w1.Cells(l1, 1).Value
w2.Cells(l2, 3).Value = w1.Cells(l1, 3).Value
End If
Next l1
End Sub
Tu adapte le nom de tes feuilles à ceux de ton classeur
bonjour
Les mauvaises questions sont celles qui ne sont jamais posées alors tu peux poser la tienne si tu veux qu'elle soit bonne !
à bientôt
Les mauvaises questions sont celles qui ne sont jamais posées alors tu peux poser la tienne si tu veux qu'elle soit bonne !
à bientôt
Suite a la macro ecrite precedemment j'ai un classeur avec les 2colones que j'ai pu tirer.j'ai donc un fichier de la forme suivante : (fichier pour le mois de janvier2008)
FF15251 RTY54UIPE152A
FF85400 RVBFCHN456PED
...
..
et aisni de suite.
J'ai un autre fichier de la forme suivante qui recense tous les co
colone_ATTRIBUTS: colone_ janvier : colone_fervrier : colone_mars : avril : mai : juin :
FF01000
FF01001
FF01002
FF01800
FF10000
FF85000
..
..
..
et le but serait de savoir combien de codes a 13chiffres commencant par le R a chaque fois, a été donné aux attributs.en fonction du mois.(en creant une macro)
en gros dans ce cas, il serait écrit 1 dans la colone janvier et sur la ligne correspondant a l'attribut FF15251
ais-je était assez clair ou voulez encore plus de précision?
mais merci encore de me consacre du temps c tres gentil de votre part
cordialement
FF15251 RTY54UIPE152A
FF85400 RVBFCHN456PED
...
..
et aisni de suite.
J'ai un autre fichier de la forme suivante qui recense tous les co
colone_ATTRIBUTS: colone_ janvier : colone_fervrier : colone_mars : avril : mai : juin :
FF01000
FF01001
FF01002
FF01800
FF10000
FF85000
..
..
..
et le but serait de savoir combien de codes a 13chiffres commencant par le R a chaque fois, a été donné aux attributs.en fonction du mois.(en creant une macro)
en gros dans ce cas, il serait écrit 1 dans la colone janvier et sur la ligne correspondant a l'attribut FF15251
ais-je était assez clair ou voulez encore plus de précision?
mais merci encore de me consacre du temps c tres gentil de votre part
cordialement
en faite pour revenir au code que vous m'avez donné au début de cette conversation, je voudrai effectuer un petit changement.votre code fonctionnait tres bien.
Maintenant au lieu de considérer la longueur du code a 13caractère, je voudrai créer un autre code VBA qui permettrait de détecter le premier caractère qui est la lettre "R".
Car le problème de la longueur (qui est de 13),il suffit q'une persone se trompe et oubli un caractere que la macro ne tient pas compte de la ligne.
Donc sachant que ce code a 13caractères commence forcémentpar la lettre R, serait-il possible de créér un code sous VBA permettant de faire une recherche dans une colonne, regardant à chaque ligne la première lettre de la case, et de copier l'autre colone qui va avec.
merci pour aide et votre temps.
cordialement
Maintenant au lieu de considérer la longueur du code a 13caractère, je voudrai créer un autre code VBA qui permettrait de détecter le premier caractère qui est la lettre "R".
Car le problème de la longueur (qui est de 13),il suffit q'une persone se trompe et oubli un caractere que la macro ne tient pas compte de la ligne.
Donc sachant que ce code a 13caractères commence forcémentpar la lettre R, serait-il possible de créér un code sous VBA permettant de faire une recherche dans une colonne, regardant à chaque ligne la première lettre de la case, et de copier l'autre colone qui va avec.
merci pour aide et votre temps.
cordialement
mais merci encore pour votre aide
ca à bien fonctionner.
par contre j'aurai d'autres questions si jpeux me permettre de vous les poser concernant de la programmation sous VB
mais cette fois-ci c'est un peu plus complexe.
jpeux vous la poser?
cordialement