Macro regroupant les différentes données
Résolu
Blussang83
Messages postés
13
Date d'inscription
Statut
Membre
Dernière intervention
-
Blussang83 Messages postés 13 Date d'inscription Statut Membre Dernière intervention -
Blussang83 Messages postés 13 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
je suis nouvelle sur le forum;
Tout d'abord, vraiment merci à tous car je viens souvent sur le forum et je trouve très souvent réponses à mes questions...
Mais Là, j'ai un cas que je n'arrive pas à resoudre sur excel :
j'ai plusieurs colonnes dont une contenant des numéros de commande et une avec les numéros de batiment à livrer associés.
une commande peut contenir plusieurs lignes soit pour un seul batiment, soit pour plusieurs.
je souhaiterias extraire uniquement les commandes qui comportent plusieurs numéros de batiments differents. Donc avoir les commandes concernées et leurs numeros de batiment
Toutes les commandes ne comportant qu'un seul et même batiment ne doivent pas apparaitre même si ces commandes sont sur plusieurs lignes
j'ai fait un croisé dynamique mais le tableau met également les commandes ne comportant qu'un seul batiment.
il existe peut être une macro...
merci par avance de votre aide
je suis nouvelle sur le forum;
Tout d'abord, vraiment merci à tous car je viens souvent sur le forum et je trouve très souvent réponses à mes questions...
Mais Là, j'ai un cas que je n'arrive pas à resoudre sur excel :
j'ai plusieurs colonnes dont une contenant des numéros de commande et une avec les numéros de batiment à livrer associés.
une commande peut contenir plusieurs lignes soit pour un seul batiment, soit pour plusieurs.
je souhaiterias extraire uniquement les commandes qui comportent plusieurs numéros de batiments differents. Donc avoir les commandes concernées et leurs numeros de batiment
Toutes les commandes ne comportant qu'un seul et même batiment ne doivent pas apparaitre même si ces commandes sont sur plusieurs lignes
j'ai fait un croisé dynamique mais le tableau met également les commandes ne comportant qu'un seul batiment.
il existe peut être une macro...
merci par avance de votre aide
A voir également:
- Macro regroupant les différentes données
- Fuite données maif - Guide
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Supprimer les données de navigation - Guide
- Difference entre mode avion et donnees mobiles - Guide
- Trier des données excel - Guide
2 réponses
Bonjour
Peux tu envoyer une partie de ton fichier au format exel 2003 sans données confidentielles, sur cjoint.com et joindre le lien obtenu ton prochain message
N'oublies pas d'y ajouter des explications/exemples
Cdlmnt
Peux tu envoyer une partie de ton fichier au format exel 2003 sans données confidentielles, sur cjoint.com et joindre le lien obtenu ton prochain message
N'oublies pas d'y ajouter des explications/exemples
Cdlmnt
Bonjour,
CCM81, excuses l'incruste mais le problème m'a intéressé ;o)
Blussang83
pour essais de comparaison je restitue en colonnes L à N
Nbre maxi de lignes Vides: 255... tu dis si risque de d'un nombre + important
La maquette de W
https://www.cjoint.com/?DDijlv7Gjsk
CCM81, excuses l'incruste mais le problème m'a intéressé ;o)
Blussang83
pour essais de comparaison je restitue en colonnes L à N
Nbre maxi de lignes Vides: 255... tu dis si risque de d'un nombre + important
Option Explicit
'------------
Sub selectionner_multi()
Dim derlig1 As Integer, nbre_vide As Integer
Dim Cptr As Integer, Lig_deb As Integer, Lig_fin As Integer, Vides As Byte
Dim Recup(), Derlig2 As Integer
'----- initialisations
Application.ScreenUpdating = False
Range("L8:N1000").Clear ' après essais H8:J1000
derlig1 = Columns("A").Find("*", , , , , xlPrevious).Row
nbre_vide = Application.CountIf(Range("A8:A" & derlig1), "")
' ------Récupeérations
Lig_deb = 7
For Cptr = 1 To nbre_vide
'recherche espaces vides
Lig_deb = Columns("A").Find("", Cells(Lig_deb, "A"), xlValues).Row
Lig_fin = Columns("A").Find("*", Cells(Lig_deb, "A"), xlValues).Row
'
On Error GoTo fin 'derlig1 atteint
Vides = Lig_fin - Lig_deb
' commande à récupérer
Recup = Range(Cells(Lig_deb - 1, "A"), Cells(Lig_fin - 1, "C"))
'-----restitution
Derlig2 = Columns("M").Find("*", , , , , xlPrevious).Row + 1 ' après essais "I" aulieu de "M"
With Cells(Derlig2, "L").Resize(Vides + 1, 3) ' après essais "H" aulieu de "L"
.Value = Recup 'données récupérées
'bordures
.Borders.Weight = xlThin
.Borders(xlInsideVertical).LineStyle = xlNone
.Borders(xlInsideHorizontal).LineStyle = xlNone
End With
Lig_deb = Lig_fin
Next
fin:
End Sub
La maquette de W
https://www.cjoint.com/?DDijlv7Gjsk
voici le lien : https://www.cjoint.com/?0DhwmQuhrEt
j'ai mis 3 onglets : les données, le tableau croisé dynamique et les explications en plus
j'espère que ce sera compréhensible
bonne soiree