VBA sous Excel

Résolu
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



A voir également:

3 réponses

pilas31 Messages postés 1825 Date d'inscription   Statut Contributeur Dernière intervention   645
 
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 :

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+
0
Utilisateur anonyme
 
Bonjour,

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
0
pilas31 Messages postés 1825 Date d'inscription   Statut Contributeur Dernière intervention   645
 
Salut,

Bingo dans la même minute et en plus on est d'accord...

Cdlt
0
Utilisateur anonyme
 
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.:

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
0
pilas31 Messages postés 1825 Date d'inscription   Statut Contributeur Dernière intervention   645
 
Bien vu...

A+
0
Pascall
 
Bonsoir,
Je vous remercie tous pour vos réponses.
Je vais essayer en fin de soirée.
A+

Pascal
0