VBA Excel affecter zone variable -> combobox
Résolu
Lila_35
-
Lila_35 -
Lila_35 -
Bonjour,
Ce bout de code est généré par une macro dans un fichier excel . La zone active se trouve dans une feuille où l'on vient d'importer des données d'un fichier texte.
Le but étant de selectionner une certaine zone d'une colonne en fonction du champ d'une autre colonne.
colonne G = TYPE1
TYPE2
TYPE3
......
TYPE5 (max)
selection dans la colonne A des codes de TYPE1 renvoyé accessible par la combobox.
Là, je bloque.
Merci d'avance.
Ce bout de code est généré par une macro dans un fichier excel . La zone active se trouve dans une feuille où l'on vient d'importer des données d'un fichier texte.
Le but étant de selectionner une certaine zone d'une colonne en fonction du champ d'une autre colonne.
colonne G = TYPE1
TYPE2
TYPE3
......
TYPE5 (max)
selection dans la colonne A des codes de TYPE1 renvoyé accessible par la combobox.
Dim CurCRASht As Worksheet Dim CurCRAWkb As Workbook Dim aCL As Range Dim pTexte As String Dim i As Integer Set CurCRASht = CurCRAWkb.Sheets("Description") CurCRASht.Select CurCRASht.Range("G19:G24").Select i = 1 'probleme de syntaxe pour ce For Each' For Each CurCRASht.Range("G19:G24") In CurCRASht.Range("G19:G24") If CurCRASht.Range.value <> "" Then pTexte = CurCRASht.Range.value Set aCL = CurCRASht.Cells.Find(What:=pTexte, LookIn:=xlValues, LookAt:=xlPart, _ SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False) CurCRASht.Range("A19:A3000").Select CurCRASht.Range("A3000").Activate CurCRAWkb.Names.Add Name:="CdPr" & i & "", RefersToR1C1:="=Description!" & aCL.Rows & "C1:" & aCL.Rows - 1 & "C1" i = i + 1 End If Next
Là, je bloque.
Merci d'avance.
A voir également:
- VBA Excel affecter zone variable -> combobox
- Alternative zone telechargement - Accueil - Outils
- Liste déroulante excel - Guide
- Word et excel gratuit - Guide
- Déplacer colonne excel - Guide
- Si ou excel - Guide
6 réponses
Bonjour,
Effectivement ta boucle For Each... Next ne va pas.
Commence par corriger ça :
etc.
m@rina
Effectivement ta boucle For Each... Next ne va pas.
Commence par corriger ça :
For Each c In CurCRASht.Range("G19:G24") If c.value <> "" Then pTexte = c.value
etc.
m@rina
Bonjour,
Il y a aussi ça :
CurCRAWkb n'est pas déclaré !!!
;o)
Il y a aussi ça :
Set CurCRASht = CurCRAWkb.Sheets("Description")
CurCRAWkb n'est pas déclaré !!!
;o)
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Heuuu, si je lis ton code, je vois : Dim CurCRAWkb As Workbook, c'est donc un objet Workbook !!!
Il faut donc faire un truc comme ça :
Set CurCRAWkb = Workbooks("lefichier.xls") 'Si le fichier est déjà ouvert
ou
Set CurCRAWkb = Workbooks.Open("C:\monDossier\lefichier.xls") 'Si le fichier n'est pas ouvert.
Si par "CurCRAWkb" tu voulais désigner le fichier courant (le fichier qui exécute la macro), ce n'est pas nécessaire, il faut faire :
Set CurCRASht = ThisWorkbook.Sheets("Description")
;o)
Il faut donc faire un truc comme ça :
Set CurCRAWkb = Workbooks("lefichier.xls") 'Si le fichier est déjà ouvert
ou
Set CurCRAWkb = Workbooks.Open("C:\monDossier\lefichier.xls") 'Si le fichier n'est pas ouvert.
Si par "CurCRAWkb" tu voulais désigner le fichier courant (le fichier qui exécute la macro), ce n'est pas nécessaire, il faut faire :
Set CurCRASht = ThisWorkbook.Sheets("Description")
;o)