Sélectionner une range avec des adresses dans des variables

Hello,

Je galère pour sélectionner une range avec des cellules dans des variables. Un probléme tout bête mais j'ai un message erreur definie par l'objet 1004 !!

Dim Xdeb As String
Dim Ydeb As String
Dim Destination As Range

For i = 1 To DerLigne

    If Cells(i, 3).Value = NoSem(LDate) Then
                Xdeb = i + 24
                Ydeb = 3
                Destination= Range(Cells(Xdeb, Ydeb), Cells(Xdeb, Ydeb))
    End If

Next

Si vous avez un avis sur ce sujet. Merci d'avance.

Bien cordialement.

Bonjour

Remplace :

Destination= Range(Cells(Xdeb, Ydeb), Cells(Xdeb, Ydeb))

par :

Set Destination= Range(Cells(Xdeb, Ydeb), Cells(Xdeb, Ydeb))

et ça devrait aller mieux !

Bye !

Bonjour,

vous essayez de récupérer quel cellule avec sa : Destination= Range(Cells(Xdeb, Ydeb), Cells(Xdeb, Ydeb)) ?

Hello,

Merci ta réponse gmb, mais ça change rien d'ajouter set devant la variable.

@minanse je souhaite récuperer les coordonnées qui correspondent à une zone répond au test

If Cells(i, 3).Value = NoSem(LDate) Then

En fait je veux coller un tableau à partir de la cellule Destination.

Voila si j'ai été assez clair.

Copie d'ecran pour montrer ce que je veux faire.

capture range plus bas

le code complet

Sub destinationcell()
Dim ws As Worksheet
Dim DerLigne As Long
Dim i As Long
Dim a As Integer
Dim LDate As Date
Dim Xdeb As String
Dim Ydeb As String
Dim Destination As Range

'On Error GoTo message

Application.ScreenUpdating = False

Set ws = ThisWorkbook.ActiveSheet
     '
'On attrape la derniére ligne vide
    DerLigne = ws.Cells(65536, 1).End(xlUp).Row
'Date du jour en Vba
    LDate = Date

For i = 1 To DerLigne

    If Cells(i, 3).Value = NoSem(LDate) Then
                Xdeb = i + 24
                Ydeb = 3
               Set Destination = Range(Cells(Xdeb, Ydeb), Cells(Xdeb, Ydeb))
    End If

Next

'If False Then
'message:
'    reponse = MsgBox("Erreur flag.", vbCritical + vbOKOnly, "failed")
'End If

End Sub

J'ai trouvé le problème ça vient de la déclaration des variables.

Dim Xdeb As  string alors qu'il faut integer.

ça marche mieux désormais

Alors essaie :

Set Destination = cells(i,3).offset(24,0)

Bye !

je te propose :

dim nomColonne as String

if ........................

nomColonne = Split(Columns(Ydeb).Address(ColumnAbsolute:=False), ":")(1)

///////////////// 'code

Destination = Range(nomColonne & Xdeb)

end if


ou utiliser la méthode de gmb j'avais pas vu avant de poster ma réponse

Merci à vous,

Mais comme indiqué le problème vient de ma déclaration des variables erronée.

Merci beaucoup et à bientôt.

Rechercher des sujets similaires à "selectionner range adresses variables"