Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2882 connectés 

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  VBA Excel - selection de valeurs distinctes

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

VBA Excel - selection de valeurs distinctes

n°1740558
lilly92
Posté le 02-06-2008 à 22:34:47  profilanswer
 

Bonjour à tous,
 
Je fais mes premiers pas avec VBA et je suis confrontée au problème suivant:
 
- j'ai un fichier de données mensuelles (avec un onglet de données par mois)
- les différents onglets regroupent des contrats, mais un contrat A peut figurer sur le fichier de janvier et pas sur celui de juin, ou au contraire un contrat B peut n'apparaître qu'en juillet
Ce que je cherche à faire:
- Créer une feuille supplémentaire qui me permette d'avoir une liste exhaustive des contrats apparaissant sur tous les onglets mensuels, mais sans les doublons.
- Ce que j'ai fait jusqu'ici: j'ai copié les données des différents onglets sur une feuille feuille puis supprimé les doublons. Problême: j'ai beaucoup trop de données! (environ 6000 par onglet)
 
Y aurait-il un moyen de coder cela avec vba? (sachant que, problème supplémentaire, je n'ai pas toujours le même nombre d'onglets de données: ca peut être du janvier à mars, comme du février à août...)
 
Je vous remercie d'avance pour votre aide précieuse!
 
Bonne soirée,
 
Lilly
 
 
 
 

mood
Publicité
Posté le 02-06-2008 à 22:34:47  profilanswer
 

n°1740638
DamienCYS
Posté le 03-06-2008 à 09:33:57  profilanswer
 

Bonjour,  
 
C'est possible en bouclant sur tes feuilles puis sur les lignes de la colonne contenant les contrats (si c'est le cas) puis en recherchant chaque pour contrat s'il existe dans la feuille de total et l'ajouter en fin de liste si ce n'est pas le cas.
 
Ce que tu veux, c'est juste une liste de contrat ? pas de cumul de valeur ou autre ...
 

n°1740685
kiki29
Posté le 03-06-2008 à 10:26:52  profilanswer
 

Salut, qqs façon d'y parvenir
Sur feuille récapitulative Données / Filtre élaboré avec extraction sans doublons
via une collection avec une clé
via http://www.mdf-xlpages.com/modules [...] d=2&lid=11

Message cité 1 fois
Message édité par kiki29 le 03-06-2008 à 10:28:32
n°1740852
lilly92
Posté le 03-06-2008 à 14:27:53  profilanswer
 

Bonjour et merci pour ta réponse,
 
oui c'est bien juste une liste de contrats que je cherche à créer dans un premier temps. L'idée que tu me proposes est bien celle que j'avais en tête, sauf que... je ne sais pas la mettre en oeuvre... (je débute!)
 
 

DamienCYS a écrit :

Bonjour,  
 
C'est possible en bouclant sur tes feuilles puis sur les lignes de la colonne contenant les contrats (si c'est le cas) puis en recherchant chaque pour contrat s'il existe dans la feuille de total et l'ajouter en fin de liste si ce n'est pas le cas.
 
Ce que tu veux, c'est juste une liste de contrat ? pas de cumul de valeur ou autre ...
 


n°1740853
lilly92
Posté le 03-06-2008 à 14:28:32  profilanswer
 

Bonjour,
 
Merci pour ca, je vais regarder de ce coté
 
Bonne journée
 

kiki29 a écrit :

Salut, qqs façon d'y parvenir
Sur feuille récapitulative Données / Filtre élaboré avec extraction sans doublons
via une collection avec une clé
via http://www.mdf-xlpages.com/modules [...] d=2&lid=11


n°1740918
86vomito33
Posté le 03-06-2008 à 16:33:54  profilanswer
 

sinon
voici le code
 
Sub test()
 
Dim nombredelignestotal, nombresdefeuilles As Integer
 
nombresdefeuilles = Sheets.Count
Worksheets.Add Count:=1, after:=Sheets(nombresdefeuilles)
nombredelignestotal = 0
 
For i = 1 To nombresdefeuilles Step 1
 
'en imaginant que tes donnees sont dans la colonne A
 
Sheets(i).Select
nbredelignes = Sheets(i).Range("A6555" ).End(xlUp).Row
Range(Cells(1, 1), Cells(nbredelignes, 1)).Select
Selection.Copy
Sheets(nombresdefeuilles + 1).Select
Cells(nombredelignetotal + 1, 1).Select
ActiveSheet.Paste
nombredelignetotal = nombredelignetotal + nbredelignes
 
Next
 
Sheets(nombresdefeuilles + 1).Select
nblign = Sheets(nombresdefeuilles + 1).Range("A6555" ).End(xlUp).Row
Range("A1:A" & nblign).Select
Selection.Sort Key1:=Range("A1" ), Order1:=xlAscending, Header:=xlGuess, _
    OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
    DataOption1:=xlSortNormal
 
For i = nblign To 2 Step -1
If Cells(i, 1) = Cells(i - 1, 1) Then
Rows(i).Select
Selection.Delete Shift:=xlUp
End If
Next
 
End Sub

n°1741052
lilly92
Posté le 03-06-2008 à 22:35:30  profilanswer
 

Je l'ai adaptée, ca marche parfaitement, merci beaucoup!!
 
Merci à tous pour votre aide,
Bonne soirée
 
 
 

86vomito33 a écrit :

sinon
voici le code
 
Sub test()
 
Dim nombredelignestotal, nombresdefeuilles As Integer
 
nombresdefeuilles = Sheets.Count
Worksheets.Add Count:=1, after:=Sheets(nombresdefeuilles)
nombredelignestotal = 0
 
For i = 1 To nombresdefeuilles Step 1
 
'en imaginant que tes donnees sont dans la colonne A
 
Sheets(i).Select
nbredelignes = Sheets(i).Range("A6555" ).End(xlUp).Row
Range(Cells(1, 1), Cells(nbredelignes, 1)).Select
Selection.Copy
Sheets(nombresdefeuilles + 1).Select
Cells(nombredelignetotal + 1, 1).Select
ActiveSheet.Paste
nombredelignetotal = nombredelignetotal + nbredelignes
 
Next
 
Sheets(nombresdefeuilles + 1).Select
nblign = Sheets(nombresdefeuilles + 1).Range("A6555" ).End(xlUp).Row
Range("A1:A" & nblign).Select
Selection.Sort Key1:=Range("A1" ), Order1:=xlAscending, Header:=xlGuess, _
    OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
    DataOption1:=xlSortNormal
 
For i = nblign To 2 Step -1
If Cells(i, 1) = Cells(i - 1, 1) Then
Rows(i).Select
Selection.Delete Shift:=xlUp
End If
Next
 
End Sub



Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  VBA Excel - selection de valeurs distinctes

 

Sujets relatifs
[EXCEL] Calcul complexe : répartition via colonnefaire un total de plusieurs feuilles excel
[VBA Excel] Separation Variables de Graphiques[Résolu] Newbie - requêtes SQL de sélection et boucle
Deux valeurs dans un sélect ?Copier une plage sélectionnée sou excel dans un txt
VB lent après chargement d'Excel 11 object libraryOuvrir un fichier excel en VBA
Plus de sujets relatifs à : VBA Excel - selection de valeurs distinctes


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR