Excel VBA : selection de plage
Résolu
Eaheru
Messages postés
197
Date d'inscription
Statut
Membre
Dernière intervention
-
Eaheru Messages postés 197 Date d'inscription Statut Membre Dernière intervention -
Eaheru Messages postés 197 Date d'inscription Statut Membre Dernière intervention -
A voir également:
- Excel VBA : selection de plage
- Liste déroulante excel - Guide
- Word et excel gratuit - Guide
- Déplacer colonne excel - Guide
- Si ou excel - Guide
- Excel compter cellule couleur sans vba - Guide
6 réponses
Bonjour,
En effet,
la fonction range se définit comme ca :
range(1èrecellule,dernière cellule).select
toi, tu lui demandes l'impossible.
Voici le bon code :
range(cells(cel1.rows,1),cells(cel1.rows,24)).select 'sélectionnes la ligne de cel1 et de la 1ère la 24ème colonne
With Selection.Interior
.Pattern = xlSolid
.PatternColorIndex = xlAutomatic
.Color = 10092288
.TintAndShade = 0
.PatternTintAndShade = 0
End With
range(cells(cel1.rows,26),cells(cel1.rows,36)).select
With Selection.Interior
.Pattern = xlSolid
.PatternColorIndex = xlAutomatic
.Color = 10092288
.TintAndShade = 0
.PatternTintAndShade = 0
End With
Essaie de voir et au besoin adapte
En effet,
la fonction range se définit comme ca :
range(1èrecellule,dernière cellule).select
toi, tu lui demandes l'impossible.
Voici le bon code :
range(cells(cel1.rows,1),cells(cel1.rows,24)).select 'sélectionnes la ligne de cel1 et de la 1ère la 24ème colonne
With Selection.Interior
.Pattern = xlSolid
.PatternColorIndex = xlAutomatic
.Color = 10092288
.TintAndShade = 0
.PatternTintAndShade = 0
End With
range(cells(cel1.rows,26),cells(cel1.rows,36)).select
With Selection.Interior
.Pattern = xlSolid
.PatternColorIndex = xlAutomatic
.Color = 10092288
.TintAndShade = 0
.PatternTintAndShade = 0
End With
Essaie de voir et au besoin adapte
bonjour à tous les deux
pour réunir plusieurs plages tu peux tenter Union
bonne suite
pour réunir plusieurs plages tu peux tenter Union
Dim plage As Range Set plage = Union(Range("A1:B5"), Range("C6:D8")) plage.Select
bonne suite
Merci beaucoup Mélanie,
Je teste ça immédiatement.
Si je n'abuse pas, connais tu la syntaxe correcte pour sélectionner plusieurs plage non contigües en même temps ?
J'ai tenté avec les " : " mais ce n'est pas correct.
L'adaptation donne :
ws1.Range(Cells(cel1.Rows, 1), Cells(cel1.Rows, 6)).Select
Mais la macro me retourne : Erreur d'execution 13, "Incompatibilité de type" :(
Je teste ça immédiatement.
Si je n'abuse pas, connais tu la syntaxe correcte pour sélectionner plusieurs plage non contigües en même temps ?
J'ai tenté avec les " : " mais ce n'est pas correct.
L'adaptation donne :
ws1.Range(Cells(cel1.Rows, 1), Cells(cel1.Rows, 6)).Select
Mais la macro me retourne : Erreur d'execution 13, "Incompatibilité de type" :(
Merci aussi a toi ccm81,
l'union a l'air de bien fonctionner dans un fichier "seul".
Mon problème vient de l'utilisation de "Workspace"
Avec l'initialisation de la macro comme suit :
Set wk1 = Workbooks.Open(Filename:= "test1.xls")
Set wk2 = Workbooks.Open(Filename:= "\test2.xls")
Set ws2 = wk2.Worksheets(1)
derlig2 = ws2.Range("AZ65536").End(xlUp).Row
Set ws1 = wk1.Worksheets(1)
J'ai tenté :
ws1.Range(("A" & cel1.Row), ("F" & cel1.Row)).Select
et
ws1.Range(Cells(cel1.Rows, 1), Cells(cel1.Rows, 6)).Select
Mais rien à faire. Est ce que ma variable ws1 devrait être placé ailleurs ou ma syntaxe n'est pas la bonne ?
l'union a l'air de bien fonctionner dans un fichier "seul".
Mon problème vient de l'utilisation de "Workspace"
Avec l'initialisation de la macro comme suit :
Set wk1 = Workbooks.Open(Filename:= "test1.xls")
Set wk2 = Workbooks.Open(Filename:= "\test2.xls")
Set ws2 = wk2.Worksheets(1)
derlig2 = ws2.Range("AZ65536").End(xlUp).Row
Set ws1 = wk1.Worksheets(1)
J'ai tenté :
ws1.Range(("A" & cel1.Row), ("F" & cel1.Row)).Select
et
ws1.Range(Cells(cel1.Rows, 1), Cells(cel1.Rows, 6)).Select
Mais rien à faire. Est ce que ma variable ws1 devrait être placé ailleurs ou ma syntaxe n'est pas la bonne ?
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Bonjour,
ta syntaxe est mauvaise :
sheets(ws1).select
range(cells(cel1.row,1),cells(cel1.row,6)).select
sinon, il y en a une mais je ne suis pas sure qu'elle fonctionne essaie de faire le test :
range(sheets(ws1).cells(cel1.row,1),sheets(ws1).cells(cel1.row,6)).select
ta syntaxe est mauvaise :
sheets(ws1).select
range(cells(cel1.row,1),cells(cel1.row,6)).select
sinon, il y en a une mais je ne suis pas sure qu'elle fonctionne essaie de faire le test :
range(sheets(ws1).cells(cel1.row,1),sheets(ws1).cells(cel1.row,6)).select
Bonjour Mélanie,
Merci de ta réponse.
Je viens de tenter la première solution et j'ai un retour "incompatibilité de type" sur la ligne : sheets(ws1).select
Je sèche la
Edit : Je pense avoir trouvé. J'ai remplacé le "sheets(ws1).select" par "ws1.Activate"
et ça semble fonctionner :)
Merci de votre aide !!!!
Merci de ta réponse.
Je viens de tenter la première solution et j'ai un retour "incompatibilité de type" sur la ligne : sheets(ws1).select
Je sèche la
Edit : Je pense avoir trouvé. J'ai remplacé le "sheets(ws1).select" par "ws1.Activate"
et ça semble fonctionner :)
Merci de votre aide !!!!