OVH Cloud OVH Cloud

Petit soucis avec une erreur

10 réponses
Avatar
JLuc
Bonjour mes amis les lecteurs,
Voila, pour aider un lecteur, je l'ai aider pour un petit bout de code.
Il m'a demander une petite modif, et la j'ai un soucis ! :/
A l'execution, j'ai erreur 1004 : Erreur defini par l'application ou
par l'objet
Ca coine a la ligne Range(Cells(..).Offset...
Si vous pouviez me donner un petit coup de pousse pour que, a mon tour,
je lui donne un peu d'aide :oÞ
C'est le code de la feuille "Feuil1"

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$B$11" Then
If Target > 1 Then
' On Error Resume Next
Application.ScreenUpdating = False
Range("plage").Copy
deccol1 = (Target - 2) * 3
deccol2 = ((Target - 2) * 3) + 2

'****** c'est cette partie qui coince et je vois pas pourquoi ******
Sheets("Feuil3").Range( _
Cells(3, 2).Offset(0, deccol1), _
Cells(3, 2).Offset(3, deccol2)).Select
'*******************************************************************
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone,
SkipBlanks:= _
False, Transpose:=False
Application.CutCopyMode = False
Range("plage").ClearContents
Range("B14").Select
Application.ScreenUpdating = True
End If
End If
End Sub

Merci pour vos reponses (Pour moi et pour lui)

--
____
( O | O )
--
_oooO_ JLuc _Oooo_

O-\O

10 réponses

Avatar
JLuc
Excuser moi pour le mauvais francais :
Voila, pour aider un lecteur, je l'ai aider pour un petit bout de code. Il
Voila, pour aider un lecteur, *j'ai ecris* un petit bout de code

J'essaierais de plus le faire :')

--
____
( O | O )
--
_oooO_ JLuc _Oooo_

O-O

Avatar
Antoine
Bonjour

As-tu essayé en rajoutant .Address après les 2
Cells(...).offset(...).Address

Essaie !
Antoine
"JLuc" a écrit dans le message de news:

Bonjour mes amis les lecteurs,
Voila, pour aider un lecteur, je l'ai aider pour un petit bout de code. Il
m'a demander une petite modif, et la j'ai un soucis ! :/
A l'execution, j'ai erreur 1004 : Erreur defini par l'application ou par
l'objet
Ca coine a la ligne Range(Cells(..).Offset...
Si vous pouviez me donner un petit coup de pousse pour que, a mon tour, je
lui donne un peu d'aide :oÞ
C'est le code de la feuille "Feuil1"

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$B$11" Then
If Target > 1 Then
' On Error Resume Next
Application.ScreenUpdating = False
Range("plage").Copy
deccol1 = (Target - 2) * 3
deccol2 = ((Target - 2) * 3) + 2

'****** c'est cette partie qui coince et je vois pas pourquoi ******
Sheets("Feuil3").Range( _
Cells(3, 2).Offset(0, deccol1), _
Cells(3, 2).Offset(3, deccol2)).Select
'*******************************************************************
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:=
_
False, Transpose:úlse
Application.CutCopyMode = False
Range("plage").ClearContents
Range("B14").Select
Application.ScreenUpdating = True
End If
End If
End Sub

Merci pour vos reponses (Pour moi et pour lui)

--
____
( O | O )
--
_oooO_ JLuc _Oooo_

O-O




Avatar
michdenis
Bonjour Jluc,

Si tu tiens à sélectionner la plage de cellules sur une autre feuille,
il faut d'abord sélectionner la feuille, puis la plage de cellules.


With Sheets("Feuil3")
.Select
.Range(.Cells(3, 2).Offset(0, deccol1), _
.Cells(3, 2).Offset(3, deccol2)).Select
End With


Et sans sélectionner, on pourrait écrire :

With Sheets("Feuil3")
With .Range(.Cells(3, 2).Offset(0, deccol1), _
.Cells(3, 2).Offset(3, deccol2))
.PasteSpecial xlPasteValues
End With
End With
Application.CutCopyMode = False



Salutations!




"JLuc" a écrit dans le message de news:
Bonjour mes amis les lecteurs,
Voila, pour aider un lecteur, je l'ai aider pour un petit bout de code.
Il m'a demander une petite modif, et la j'ai un soucis ! :/
A l'execution, j'ai erreur 1004 : Erreur defini par l'application ou
par l'objet
Ca coine a la ligne Range(Cells(..).Offset...
Si vous pouviez me donner un petit coup de pousse pour que, a mon tour,
je lui donne un peu d'aide :oÞ
C'est le code de la feuille "Feuil1"

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$B$11" Then
If Target > 1 Then
' On Error Resume Next
Application.ScreenUpdating = False
Range("plage").Copy
deccol1 = (Target - 2) * 3
deccol2 = ((Target - 2) * 3) + 2

'****** c'est cette partie qui coince et je vois pas pourquoi ******
Sheets("Feuil3").Range( _
Cells(3, 2).Offset(0, deccol1), _
Cells(3, 2).Offset(3, deccol2)).Select
'*******************************************************************
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone,
SkipBlanks:= _
False, Transpose:úlse
Application.CutCopyMode = False
Range("plage").ClearContents
Range("B14").Select
Application.ScreenUpdating = True
End If
End If
End Sub

Merci pour vos reponses (Pour moi et pour lui)

--
____
( O | O )
--
_oooO_ JLuc _Oooo_

O-O
Avatar
JLuc
*Bonjour michdenis*,

With Sheets("Feuil3")
.Select
.Range(.Cells(3, 2).Offset(0, deccol1), _
.Cells(3, 2).Offset(3, deccol2)).Select
End With
Avec le code ci dessus, je conserve la meme erreur, je vais essayer la

syntaxe de dessous



Et sans sélectionner, on pourrait écrire :

With Sheets("Feuil3")
With .Range(.Cells(3, 2).Offset(0, deccol1), _
.Cells(3, 2).Offset(3, deccol2))
.PasteSpecial xlPasteValues
End With
End With
Application.CutCopyMode = False



Salutations!




"JLuc" a écrit dans le message de news:
Bonjour mes amis les lecteurs,
Voila, pour aider un lecteur, je l'ai aider pour un petit bout de code.
Il m'a demander une petite modif, et la j'ai un soucis ! :/
A l'execution, j'ai erreur 1004 : Erreur defini par l'application ou
par l'objet
Ca coine a la ligne Range(Cells(..).Offset...
Si vous pouviez me donner un petit coup de pousse pour que, a mon tour,
je lui donne un peu d'aide :oÞ
C'est le code de la feuille "Feuil1"

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$B$11" Then
If Target > 1 Then
' On Error Resume Next
Application.ScreenUpdating = False
Range("plage").Copy
deccol1 = (Target - 2) * 3
deccol2 = ((Target - 2) * 3) + 2

'****** c'est cette partie qui coince et je vois pas pourquoi ******
Sheets("Feuil3").Range( _
Cells(3, 2).Offset(0, deccol1), _
Cells(3, 2).Offset(3, deccol2)).Select
'*******************************************************************
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone,
SkipBlanks:= _
False, Transpose:úlse
Application.CutCopyMode = False
Range("plage").ClearContents
Range("B14").Select
Application.ScreenUpdating = True
End If
End If
End Sub

Merci pour vos reponses (Pour moi et pour lui)



--
____
( O | O )
--
_oooO_ JLuc _Oooo_

O-O

Avatar
JLuc
*Bonjour michdenis*,
Curieux, la deuxieme syntaxe passe alors que la premiere plante :-?
Je vois pas ou est la difference entre les deux !!
Pense tu pouvoir m'eclairer sur cette bigrerie 8-o

Bonjour Jluc,

Si tu tiens à sélectionner la plage de cellules sur une autre feuille,
il faut d'abord sélectionner la feuille, puis la plage de cellules.


With Sheets("Feuil3")
.Select
.Range(.Cells(3, 2).Offset(0, deccol1), _
.Cells(3, 2).Offset(3, deccol2)).Select
End With


Et sans sélectionner, on pourrait écrire :

With Sheets("Feuil3")
With .Range(.Cells(3, 2).Offset(0, deccol1), _
.Cells(3, 2).Offset(3, deccol2))
.PasteSpecial xlPasteValues
End With
End With
Application.CutCopyMode = False



Salutations!




"JLuc" a écrit dans le message de news:
Bonjour mes amis les lecteurs,
Voila, pour aider un lecteur, je l'ai aider pour un petit bout de code.
Il m'a demander une petite modif, et la j'ai un soucis ! :/
A l'execution, j'ai erreur 1004 : Erreur defini par l'application ou
par l'objet
Ca coine a la ligne Range(Cells(..).Offset...
Si vous pouviez me donner un petit coup de pousse pour que, a mon tour,
je lui donne un peu d'aide :oÞ
C'est le code de la feuille "Feuil1"

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$B$11" Then
If Target > 1 Then
' On Error Resume Next
Application.ScreenUpdating = False
Range("plage").Copy
deccol1 = (Target - 2) * 3
deccol2 = ((Target - 2) * 3) + 2

'****** c'est cette partie qui coince et je vois pas pourquoi ******
Sheets("Feuil3").Range( _
Cells(3, 2).Offset(0, deccol1), _
Cells(3, 2).Offset(3, deccol2)).Select
'*******************************************************************
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone,
SkipBlanks:= _
False, Transpose:úlse
Application.CutCopyMode = False
Range("plage").ClearContents
Range("B14").Select
Application.ScreenUpdating = True
End If
End If
End Sub

Merci pour vos reponses (Pour moi et pour lui)



--
____
( O | O )
--
_oooO_ JLuc _Oooo_

O-O

Avatar
JLuc
*Bonjour Antoine*,
J'ai essayer en mettant : .Range(...).Address.Select --> meme erreur.
Mais michdenis a resolu mon probleme avec brio.
Merci quand meme d'avoir chercher ;-)

Bonjour

As-tu essayé en rajoutant .Address après les 2 Cells(...).offset(...).Address

Essaie !
Antoine
"JLuc" a écrit dans le message de news:

Bonjour mes amis les lecteurs,
Voila, pour aider un lecteur, je l'ai aider pour un petit bout de code. Il
m'a demander une petite modif, et la j'ai un soucis ! :/
A l'execution, j'ai erreur 1004 : Erreur defini par l'application ou par
l'objet
Ca coine a la ligne Range(Cells(..).Offset...
Si vous pouviez me donner un petit coup de pousse pour que, a mon tour, je
lui donne un peu d'aide :oÞ
C'est le code de la feuille "Feuil1"

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$B$11" Then
If Target > 1 Then
' On Error Resume Next
Application.ScreenUpdating = False
Range("plage").Copy
deccol1 = (Target - 2) * 3
deccol2 = ((Target - 2) * 3) + 2

'****** c'est cette partie qui coince et je vois pas pourquoi ******
Sheets("Feuil3").Range( _
Cells(3, 2).Offset(0, deccol1), _
Cells(3, 2).Offset(3, deccol2)).Select
'*******************************************************************
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:=
_
False, Transpose:úlse
Application.CutCopyMode = False
Range("plage").ClearContents
Range("B14").Select
Application.ScreenUpdating = True
End If
End If
End Sub

Merci pour vos reponses (Pour moi et pour lui)

-- ____
( O | O )
--
_oooO_ JLuc _Oooo_

O-O






--
____
( O | O )
--
_oooO_ JLuc _Oooo_

O-O


Avatar
michdenis
Bonjour Jluc,

Aucune raison que cela ne fonctionne pas !

Si les variables ont une valeur qui réfère vers une plage
de celllules plausibles.... si les variables étaient négatives
par exemple, cela générerait une erreur 1004.

'-------------------------
deccol1 = 2
deccol2 = 3

With Sheets("Feuil3")
.Select
.Range(.Cells(3, 2).Offset(0, deccol1), _
.Cells(3, 2).Offset(3, deccol2)).Select
End With
'-------------------------


Salutations!



"JLuc" a écrit dans le message de news:
*Bonjour michdenis*,
Curieux, la deuxieme syntaxe passe alors que la premiere plante :-?
Je vois pas ou est la difference entre les deux !!
Pense tu pouvoir m'eclairer sur cette bigrerie 8-o

Bonjour Jluc,

Si tu tiens à sélectionner la plage de cellules sur une autre feuille,
il faut d'abord sélectionner la feuille, puis la plage de cellules.


With Sheets("Feuil3")
.Select
.Range(.Cells(3, 2).Offset(0, deccol1), _
.Cells(3, 2).Offset(3, deccol2)).Select
End With


Et sans sélectionner, on pourrait écrire :

With Sheets("Feuil3")
With .Range(.Cells(3, 2).Offset(0, deccol1), _
.Cells(3, 2).Offset(3, deccol2))
.PasteSpecial xlPasteValues
End With
End With
Application.CutCopyMode = False



Salutations!




"JLuc" a écrit dans le message de news:
Bonjour mes amis les lecteurs,
Voila, pour aider un lecteur, je l'ai aider pour un petit bout de code.
Il m'a demander une petite modif, et la j'ai un soucis ! :/
A l'execution, j'ai erreur 1004 : Erreur defini par l'application ou
par l'objet
Ca coine a la ligne Range(Cells(..).Offset...
Si vous pouviez me donner un petit coup de pousse pour que, a mon tour,
je lui donne un peu d'aide :oÞ
C'est le code de la feuille "Feuil1"

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$B$11" Then
If Target > 1 Then
' On Error Resume Next
Application.ScreenUpdating = False
Range("plage").Copy
deccol1 = (Target - 2) * 3
deccol2 = ((Target - 2) * 3) + 2

'****** c'est cette partie qui coince et je vois pas pourquoi ******
Sheets("Feuil3").Range( _
Cells(3, 2).Offset(0, deccol1), _
Cells(3, 2).Offset(3, deccol2)).Select
'*******************************************************************
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone,
SkipBlanks:= _
False, Transpose:úlse
Application.CutCopyMode = False
Range("plage").ClearContents
Range("B14").Select
Application.ScreenUpdating = True
End If
End If
End Sub

Merci pour vos reponses (Pour moi et pour lui)



--
____
( O | O )
--
_oooO_ JLuc _Oooo_

O-O

Avatar
JLuc
*Bonjour michdenis*,
J'ai compris juste maintenant en revoyant ta syntaxe B-)
En fait, avec la premiere de ton post precedent, j'ai modifier le mien
pour l'adapter. Avec le second, j'ai fais un copier/coller.
monn erreur est :
toi : .Range(.Cells...
moi : .Range(Cells...

C'est ma faute, ma tres grande faute lol

Donc en fait, comment aurai je du ecrire
Sheets("Feuil3").Range(Cells(...).Offset... ?

Parce que là aussi j'avais l'erreur. Peut etre :
Sheets("Feuil3").Range(Sheets("Feuil3").Cells(...).Offset... ?

Peux tu me dire ?
Bonjour Jluc,

Aucune raison que cela ne fonctionne pas !

Si les variables ont une valeur qui réfère vers une plage
de celllules plausibles.... si les variables étaient négatives
par exemple, cela générerait une erreur 1004.

'-------------------------
deccol1 = 2
deccol2 = 3

With Sheets("Feuil3")
.Select
.Range(.Cells(3, 2).Offset(0, deccol1), _
.Cells(3, 2).Offset(3, deccol2)).Select
End With
'-------------------------


Salutations!



"JLuc" a écrit dans le message de news:
*Bonjour michdenis*,
Curieux, la deuxieme syntaxe passe alors que la premiere plante :-?
Je vois pas ou est la difference entre les deux !!
Pense tu pouvoir m'eclairer sur cette bigrerie 8-o

Bonjour Jluc,

Si tu tiens à sélectionner la plage de cellules sur une autre feuille,
il faut d'abord sélectionner la feuille, puis la plage de cellules.


With Sheets("Feuil3")
.Select
.Range(.Cells(3, 2).Offset(0, deccol1), _
.Cells(3, 2).Offset(3, deccol2)).Select
End With


Et sans sélectionner, on pourrait écrire :

With Sheets("Feuil3")
With .Range(.Cells(3, 2).Offset(0, deccol1), _
.Cells(3, 2).Offset(3, deccol2))
.PasteSpecial xlPasteValues
End With
End With
Application.CutCopyMode = False



Salutations!




"JLuc" a écrit dans le message de news:
Bonjour mes amis les lecteurs,
Voila, pour aider un lecteur, je l'ai aider pour un petit bout de code.
Il m'a demander une petite modif, et la j'ai un soucis ! :/
A l'execution, j'ai erreur 1004 : Erreur defini par l'application ou
par l'objet
Ca coine a la ligne Range(Cells(..).Offset...
Si vous pouviez me donner un petit coup de pousse pour que, a mon tour,
je lui donne un peu d'aide :oÞ
C'est le code de la feuille "Feuil1"

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$B$11" Then
If Target > 1 Then
' On Error Resume Next
Application.ScreenUpdating = False
Range("plage").Copy
deccol1 = (Target - 2) * 3
deccol2 = ((Target - 2) * 3) + 2

'****** c'est cette partie qui coince et je vois pas pourquoi ******
Sheets("Feuil3").Range( _
Cells(3, 2).Offset(0, deccol1), _
Cells(3, 2).Offset(3, deccol2)).Select
'*******************************************************************
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone,
SkipBlanks:= _
False, Transpose:úlse
Application.CutCopyMode = False
Range("plage").ClearContents
Range("B14").Select
Application.ScreenUpdating = True
End If
End If
End Sub

Merci pour vos reponses (Pour moi et pour lui)




--
____
( O | O )
--
_oooO_ JLuc _Oooo_

O-O


Avatar
michdenis
Bonjour JLuc,

Comme ceci en 2 lignes de code :


Sheets("Feuil3").Select

Sheets("Feuil3").Range(Sheets("Feuil3").Cells(3, 2).Offset(0, deccol1), _
Sheets("Feuil3").Cells(3, 2).Offset(3, deccol2)).Select


Salutations!



"JLuc" a écrit dans le message de news:
*Bonjour michdenis*,
J'ai compris juste maintenant en revoyant ta syntaxe B-)
En fait, avec la premiere de ton post precedent, j'ai modifier le mien
pour l'adapter. Avec le second, j'ai fais un copier/coller.
monn erreur est :
toi : .Range(.Cells...
moi : .Range(Cells...

C'est ma faute, ma tres grande faute lol

Donc en fait, comment aurai je du ecrire
Sheets("Feuil3").Range(Cells(...).Offset... ?

Parce que là aussi j'avais l'erreur. Peut etre :
Sheets("Feuil3").Range(Sheets("Feuil3").Cells(...).Offset... ?

Peux tu me dire ?
Bonjour Jluc,

Aucune raison que cela ne fonctionne pas !

Si les variables ont une valeur qui réfère vers une plage
de celllules plausibles.... si les variables étaient négatives
par exemple, cela générerait une erreur 1004.

'-------------------------
deccol1 = 2
deccol2 = 3

With Sheets("Feuil3")
.Select
.Range(.Cells(3, 2).Offset(0, deccol1), _
.Cells(3, 2).Offset(3, deccol2)).Select
End With
'-------------------------


Salutations!



"JLuc" a écrit dans le message de news:
*Bonjour michdenis*,
Curieux, la deuxieme syntaxe passe alors que la premiere plante :-?
Je vois pas ou est la difference entre les deux !!
Pense tu pouvoir m'eclairer sur cette bigrerie 8-o

Bonjour Jluc,

Si tu tiens à sélectionner la plage de cellules sur une autre feuille,
il faut d'abord sélectionner la feuille, puis la plage de cellules.


With Sheets("Feuil3")
.Select
.Range(.Cells(3, 2).Offset(0, deccol1), _
.Cells(3, 2).Offset(3, deccol2)).Select
End With


Et sans sélectionner, on pourrait écrire :

With Sheets("Feuil3")
With .Range(.Cells(3, 2).Offset(0, deccol1), _
.Cells(3, 2).Offset(3, deccol2))
.PasteSpecial xlPasteValues
End With
End With
Application.CutCopyMode = False



Salutations!




"JLuc" a écrit dans le message de news:
Bonjour mes amis les lecteurs,
Voila, pour aider un lecteur, je l'ai aider pour un petit bout de code.
Il m'a demander une petite modif, et la j'ai un soucis ! :/
A l'execution, j'ai erreur 1004 : Erreur defini par l'application ou
par l'objet
Ca coine a la ligne Range(Cells(..).Offset...
Si vous pouviez me donner un petit coup de pousse pour que, a mon tour,
je lui donne un peu d'aide :oÞ
C'est le code de la feuille "Feuil1"

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$B$11" Then
If Target > 1 Then
' On Error Resume Next
Application.ScreenUpdating = False
Range("plage").Copy
deccol1 = (Target - 2) * 3
deccol2 = ((Target - 2) * 3) + 2

'****** c'est cette partie qui coince et je vois pas pourquoi ******
Sheets("Feuil3").Range( _
Cells(3, 2).Offset(0, deccol1), _
Cells(3, 2).Offset(3, deccol2)).Select
'*******************************************************************
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone,
SkipBlanks:= _
False, Transpose:úlse
Application.CutCopyMode = False
Range("plage").ClearContents
Range("B14").Select
Application.ScreenUpdating = True
End If
End If
End Sub

Merci pour vos reponses (Pour moi et pour lui)




--
____
( O | O )
--
_oooO_ JLuc _Oooo_

O-O


Avatar
JLuc
*Bonjour michdenis*,
C'est ce qui m'avais sembler apres avoir compris ou etait mon erreur
par rapport a ton code :D
Merci de toutes ces precisions et de ta patience


Bonjour JLuc,

Comme ceci en 2 lignes de code :


Sheets("Feuil3").Select

Sheets("Feuil3").Range(Sheets("Feuil3").Cells(3, 2).Offset(0, deccol1), _
Sheets("Feuil3").Cells(3, 2).Offset(3, deccol2)).Select


Salutations!



"JLuc" a écrit dans le message de news:
*Bonjour michdenis*,
J'ai compris juste maintenant en revoyant ta syntaxe B-)
En fait, avec la premiere de ton post precedent, j'ai modifier le mien
pour l'adapter. Avec le second, j'ai fais un copier/coller.
monn erreur est :
toi : .Range(.Cells...
moi : .Range(Cells...

C'est ma faute, ma tres grande faute lol

Donc en fait, comment aurai je du ecrire
Sheets("Feuil3").Range(Cells(...).Offset... ?

Parce que là aussi j'avais l'erreur. Peut etre :
Sheets("Feuil3").Range(Sheets("Feuil3").Cells(...).Offset... ?

Peux tu me dire ?
Bonjour Jluc,

Aucune raison que cela ne fonctionne pas !

Si les variables ont une valeur qui réfère vers une plage
de celllules plausibles.... si les variables étaient négatives
par exemple, cela générerait une erreur 1004.

'-------------------------
deccol1 = 2
deccol2 = 3

With Sheets("Feuil3")
.Select
.Range(.Cells(3, 2).Offset(0, deccol1), _
.Cells(3, 2).Offset(3, deccol2)).Select
End With
'-------------------------


Salutations!



"JLuc" a écrit dans le message de news:
*Bonjour michdenis*,
Curieux, la deuxieme syntaxe passe alors que la premiere plante :-?
Je vois pas ou est la difference entre les deux !!
Pense tu pouvoir m'eclairer sur cette bigrerie 8-o

Bonjour Jluc,

Si tu tiens à sélectionner la plage de cellules sur une autre feuille,
il faut d'abord sélectionner la feuille, puis la plage de cellules.


With Sheets("Feuil3")
.Select
.Range(.Cells(3, 2).Offset(0, deccol1), _
.Cells(3, 2).Offset(3, deccol2)).Select
End With


Et sans sélectionner, on pourrait écrire :

With Sheets("Feuil3")
With .Range(.Cells(3, 2).Offset(0, deccol1), _
.Cells(3, 2).Offset(3, deccol2))
.PasteSpecial xlPasteValues
End With
End With
Application.CutCopyMode = False



Salutations!




"JLuc" a écrit dans le message de news:
Bonjour mes amis les lecteurs,
Voila, pour aider un lecteur, je l'ai aider pour un petit bout de code.
Il m'a demander une petite modif, et la j'ai un soucis ! :/
A l'execution, j'ai erreur 1004 : Erreur defini par l'application ou
par l'objet
Ca coine a la ligne Range(Cells(..).Offset...
Si vous pouviez me donner un petit coup de pousse pour que, a mon tour,
je lui donne un peu d'aide :oÞ
C'est le code de la feuille "Feuil1"

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$B$11" Then
If Target > 1 Then
' On Error Resume Next
Application.ScreenUpdating = False
Range("plage").Copy
deccol1 = (Target - 2) * 3
deccol2 = ((Target - 2) * 3) + 2

'****** c'est cette partie qui coince et je vois pas pourquoi ******
Sheets("Feuil3").Range( _
Cells(3, 2).Offset(0, deccol1), _
Cells(3, 2).Offset(3, deccol2)).Select
'*******************************************************************
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone,
SkipBlanks:= _
False, Transpose:úlse
Application.CutCopyMode = False
Range("plage").ClearContents
Range("B14").Select
Application.ScreenUpdating = True
End If
End If
End Sub

Merci pour vos reponses (Pour moi et pour lui)





--
____
( O | O )
--
_oooO_ JLuc _Oooo_

O-O