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