VBA sous Excel
Résolu
Pascall
-
Pascall -
Pascall -
Bonjour,
Je souhaiterai pouvoir capter un range dont les limites ont été défini
par une recherche dans une table via une boucle DO .... LOOP UNTIL
dim MaPlage as range
dim i,nomatch integer
i = 1
nomatch=15
Do
i = i + 1
Loop Until Worksheets("FIND").Range("A" & i).Value = nomatch
selcellule = """" & "A" & CStr(i) & ":" & "H" & CStr(i) & """" 'Range de référence dans FIND
Pas problème, la variable selcellule comporte bien la valeur range à sélectionner.
Par exemple "A3:H3"
mais quand je souhaite placer le contenu dans une variable ou une autre table ou ou un autre endroit dans la table; je coince
voici ce que j'ai mis
MaPlage = Worksheets("FIND").Range(selcellule).Value
Pouvez-vous m'aider SVP
Merci
PL
Je souhaiterai pouvoir capter un range dont les limites ont été défini
par une recherche dans une table via une boucle DO .... LOOP UNTIL
dim MaPlage as range
dim i,nomatch integer
i = 1
nomatch=15
Do
i = i + 1
Loop Until Worksheets("FIND").Range("A" & i).Value = nomatch
selcellule = """" & "A" & CStr(i) & ":" & "H" & CStr(i) & """" 'Range de référence dans FIND
Pas problème, la variable selcellule comporte bien la valeur range à sélectionner.
Par exemple "A3:H3"
mais quand je souhaite placer le contenu dans une variable ou une autre table ou ou un autre endroit dans la table; je coince
voici ce que j'ai mis
MaPlage = Worksheets("FIND").Range(selcellule).Value
Pouvez-vous m'aider SVP
Merci
PL
A voir également:
- VBA sous Excel
- 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
3 réponses
Bonjour,
Je vois deux problèmes dans ce code :
D'abord il ne faut pas encadrer l'adresse par des "" et ensuite pour affecter un Range il faut employer l'instruction set.
D'ou le code suivant a essayer :
A+
Je vois deux problèmes dans ce code :
D'abord il ne faut pas encadrer l'adresse par des "" et ensuite pour affecter un Range il faut employer l'instruction set.
D'ou le code suivant a essayer :
Dim MaPlage As Range
Dim i, nomatch As Integer
Dim selcellule As String
i = 1
nomatch = 15
Do
i = i + 1
Loop Until Worksheets("FIND").Range("A" & i).Value = nomatch
selcellule = "A" & CStr(i) & ":" & "H" & CStr(i)
Set MaPlage = Worksheets("FIND").Range(selcellule)
A+
Bonjour,
Et comme ceci :
Cdt
Lupin
Et comme ceci :
Option Explicit
Sub Test()
Dim MaPlage As Range
Dim i As Integer, nomatch As Integer
Dim selCellule As String
i = 1
nomatch = 15
Do
i = i + 1
Loop Until Worksheets("FIND").Range("A" & i).Value = nomatch
selCellule = "A" & i & ":" & "H" & i 'Range de référence dans FIND
Set MaPlage = Worksheets("FIND").Range(selCellule)
End Sub
'
Cdt
Lupin
re:
en effet, sauf pour la déclaration de la variable i !
Tel que décrit ici :
Dim i, nomatch As Integer
i est déclaré de façon implicite en type Variant.
ex.:
Cdt
en effet, sauf pour la déclaration de la variable i !
Tel que décrit ici :
Dim i, nomatch As Integer
i est déclaré de façon implicite en type Variant.
ex.:
Sub Test()
Dim i, j As Integer
Dim Plage As String
Plage = "A1:F3"
Set i = Range(Plage)
Set j = Range(Plage) ' Plante sur cette ligne
End Sub
Cdt