Liste de longueur variable sous Excel
Résolu/Fermé
fafeouw
Messages postés
4
Date d'inscription
mercredi 2 mai 2007
Statut
Membre
Dernière intervention
15 juin 2007
-
2 mai 2007 à 22:14
fafeouw Messages postés 4 Date d'inscription mercredi 2 mai 2007 Statut Membre Dernière intervention 15 juin 2007 - 7 mai 2007 à 19:55
fafeouw Messages postés 4 Date d'inscription mercredi 2 mai 2007 Statut Membre Dernière intervention 15 juin 2007 - 7 mai 2007 à 19:55
A voir également:
- Liste de longueur variable sous Excel
- Liste déroulante excel - Guide
- Excel liste déroulante en cascade - Guide
- Si et excel - Guide
- Word et excel gratuit - Guide
- Aller à la ligne excel - Guide
1 réponse
fafeouw
Messages postés
4
Date d'inscription
mercredi 2 mai 2007
Statut
Membre
Dernière intervention
15 juin 2007
7 mai 2007 à 19:55
7 mai 2007 à 19:55
C'est bon j'ai réussi à trouver un code qui fonctionne.
Je vous le donne si ça peux aider quelqu'un d'autres
Sheets("Feuil2").Select
Range("I3:I12").Select
Selection.ClearContents
Sheets("Feuil1").Select
Range("E14").Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Copy
Sheets("Feuil2").Select
Range("I3").Select
ActiveSheet.Paste
Range("I2").Select
Range(Selection, Selection.End(xlDown)).Select
Application.CutCopyMode = False
Selection.Sort Key1:=Range("I2"), Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal
Dim DerLig As Long
On Error Resume Next
ActiveWorkbook.Names("Liste1").Delete
On Error GoTo 0
DerLig = Worksheets("Data").Columns(9).End(xlDown).Row
ActiveWorkbook.Names.Add Name:="Liste1", RefersToR1C1:="=Data!R2C9:R" & DerLig & "C9"
Sheets("Feuil2").Select
Range("J3:J12").Select
Selection.ClearContents
Sheets("Feuil1").Select
Range("L14").Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Copy
Sheets("Feuil2").Select
Range("J3").Select
ActiveSheet.Paste
Range("J2").Select
Range(Selection, Selection.End(xlDown)).Select
Application.CutCopyMode = False
Selection.Sort Key1:=Range("J2"), Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal
Dim DerLig2 As Long
On Error Resume Next
ActiveWorkbook.Names("Liste2").Delete
On Error GoTo 0
DerLig2 = Worksheets("Data").Columns(10).End(xlDown).Row
ActiveWorkbook.Names.Add Name:="Liste2", RefersToR1C1:="=Data!R2C10:R" & DerLig2 & "C10"
Avec ce bout de code, les données rentrées par l'utilisateur sont bien copiées dans la feuille 2 puis trié (par ordre croissant) et enfin les deux objets (liste 1 & 2) sont bien renseigné.
Par contre je n'ai pas trouver la solution pour charger à chaque changement Liste1 dans combo 1 (qui ce trouve sur feuille 3) et Liste 2 dans combo 2 (qui ce trouve sur feuille 3 aussi). Si quelqu'un à une solution ça serai sympa de ma la communiquer.
@+
Je vous le donne si ça peux aider quelqu'un d'autres
Sheets("Feuil2").Select
Range("I3:I12").Select
Selection.ClearContents
Sheets("Feuil1").Select
Range("E14").Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Copy
Sheets("Feuil2").Select
Range("I3").Select
ActiveSheet.Paste
Range("I2").Select
Range(Selection, Selection.End(xlDown)).Select
Application.CutCopyMode = False
Selection.Sort Key1:=Range("I2"), Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal
Dim DerLig As Long
On Error Resume Next
ActiveWorkbook.Names("Liste1").Delete
On Error GoTo 0
DerLig = Worksheets("Data").Columns(9).End(xlDown).Row
ActiveWorkbook.Names.Add Name:="Liste1", RefersToR1C1:="=Data!R2C9:R" & DerLig & "C9"
Sheets("Feuil2").Select
Range("J3:J12").Select
Selection.ClearContents
Sheets("Feuil1").Select
Range("L14").Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Copy
Sheets("Feuil2").Select
Range("J3").Select
ActiveSheet.Paste
Range("J2").Select
Range(Selection, Selection.End(xlDown)).Select
Application.CutCopyMode = False
Selection.Sort Key1:=Range("J2"), Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal
Dim DerLig2 As Long
On Error Resume Next
ActiveWorkbook.Names("Liste2").Delete
On Error GoTo 0
DerLig2 = Worksheets("Data").Columns(10).End(xlDown).Row
ActiveWorkbook.Names.Add Name:="Liste2", RefersToR1C1:="=Data!R2C10:R" & DerLig2 & "C10"
Avec ce bout de code, les données rentrées par l'utilisateur sont bien copiées dans la feuille 2 puis trié (par ordre croissant) et enfin les deux objets (liste 1 & 2) sont bien renseigné.
Par contre je n'ai pas trouver la solution pour charger à chaque changement Liste1 dans combo 1 (qui ce trouve sur feuille 3) et Liste 2 dans combo 2 (qui ce trouve sur feuille 3 aussi). Si quelqu'un à une solution ça serai sympa de ma la communiquer.
@+