OVH Cloud OVH Cloud

selectionner une zone

16 réponses
Avatar
Lionel
bonjour a tous

Qu'est ce qui fait que cela

Range(Cells(p, 4), Cells(p, 35)).Select

me renvoie une erreur d'execution 1004

Merci de votre aide

Lionel

6 réponses

1 2
Avatar
Lionel
Salut

Voila la replique en simple des lignes de mon classeur sans le code
http://cjoint.com/?3Lknhy6ciRj

Merci



"isabelle" a écrit dans le message de
news:jbuo24$2qb$
bonjour Lionel,

peut déposer ton fichier ici
http://www.cjoint.com/
et nous donner le lien de téléchargement

--
isabelle



Le 2011-12-09 18:27, Lionel a écrit :
> Bonsoir,
>
> Je crois qu'il faut reprendre a zero
> J'ai une feuille "P" et une Feuille "J"
> dans "P" les lignes ciblées (de 22, 26, 30...66 soit step4) entre les
> colonnes D et AH
> sont a recopier (valeurs uniquement) lorsque je clique sur un bouton de
> commande (sur FEUIILE "J" )
> en "J" (de 6,11, 16, soit step5) entre colonnes B et AF
> Rien de bien effrayant a premiere vue mais mon code foire...
>
> Dim p, i As Integer
> p = 22
> For i = 6 To 66 Step 5
> Worksheets("P").Activate
> Application.Goto Cells(p, 4)
> Range(Cells(p, 4), Cells(p, 35)).Select
> Selection.Copy
> Worksheets("J").Select
> Range("B6").Select
> Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone,


SkipBlanks: > > _
> False, Transpose:úlse
> p = p + 4
> Next i
>
> Ou est le Bug ?
> Merci d'eclairer ma lanterne ...je suis au fond du tunnel....
>
> Lionel
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
> "isabelle" a écrit dans le message de
> news:jbtvph$5sr$
>>
>> en supposant que p soit = à un nombre valide de no. de ligne
>>
>> peut tu ajouter cette ligne
>> Application.Goto Cells(p, 4)
>> avant
>> Range(Cells(p, 4), Cells(p, 35)).Select
>>
>> pour voir si l'erreur persiste
>>
>>
>> --
>> isabelle
>>
>>
>>
>> Le 2011-12-09 16:15, Lionel a écrit :
>>> Re....
>>>
>>> J'ai mis le TakeonFocus à false mais mon erreur d'execution 1004
>>> subsiste...Je ne comprends pas d'ou cela provient...
>>>
>>> Merci de m'aider a trouver...
>>> Lionel
>>>
>>>
>>> "isabelle" a écrit dans le message de
>>> news:jbt9at$ig1$
>>>> est-ce que la macro est executé à partir d'un control CommandButton ?
>>>>
>>>> si oui, mets la propriété du bouton "TakeFocusOnClic" à false
>>>>
>>>> --
>>>> isabelle
>>>>
>>>>
>>>> Le 2011-12-09 10:12, Lionel a écrit :
>>>>> re
>>>>> version 2000
>>>
>>>
>
>
Avatar
isabelle
salut Lionnel,

d'après la disposition des données tu pourrais faire comme ça,

Sub Macro1()
Dim p As Integer, i As Integer, x As Integer, a As String, b As String
For i = 6 To 66 Step 5
x = x - 1
p = i + 17 + x
a = Range(Cells(i, 2), Cells(i, 32)).Address
b = Range(Cells(p, 4), Cells(p, 34)).Address
Sheets("J").Range(a).Value = Sheets("P").Range(b).Value
Next i
End Sub


--
isabelle


Le 2011-12-10 07:01, Lionel a écrit :
Salut

Voila la replique en simple des lignes de mon classeur sans le code
http://cjoint.com/?3Lknhy6ciRj

Merci
Avatar
Lionel
Isabelle

La macro s'arrete sur
Sheets("J").Range(a).Value = Sheets("P").Range(b).Value

??? la, je cale definitivement

Lionel


"isabelle" a écrit dans le message de
news:jbvkuo$n2k$
salut Lionnel,

d'après la disposition des données tu pourrais faire comme ça,

Sub Macro1()
Dim p As Integer, i As Integer, x As Integer, a As String, b As String
For i = 6 To 66 Step 5
x = x - 1
p = i + 17 + x
a = Range(Cells(i, 2), Cells(i, 32)).Address
b = Range(Cells(p, 4), Cells(p, 34)).Address
Sheets("J").Range(a).Value = Sheets("P").Range(b).Value
Next i
End Sub


--
isabelle


Le 2011-12-10 07:01, Lionel a écrit :
> Salut
>
> Voila la replique en simple des lignes de mon classeur sans le code
> http://cjoint.com/?3Lknhy6ciRj
>
> Merci
Avatar
isabelle
Lionel, clic sur le bouton de ce classeur pour voir si l'erreur persiste,

http://cjoint.com/?ALkonU86Ae0

--
isabelle


Le 2011-12-10 08:00, Lionel a écrit :
Isabelle

La macro s'arrete sur
Sheets("J").Range(a).Value = Sheets("P").Range(b).Value

??? la, je cale definitivement

Lionel
Avatar
Gloops
Lionel a écrit, le 09/12/2011 15:26 :
bonjour a tous

Qu'est ce qui fait que cela

Range(Cells(p, 4), Cells(p, 35)).Select

me renvoie une erreur d'execution 1004

Merci de votre aide

Lionel





Bonjour,

J'ai déjà eu ce problème en Automation, c'est-à-dire en génér ant le
classeur à partir d'une base Access. Le focus sur le bouton pourrait
être un élément d'explication si cette piste est la bonne, bien que la
propriété ad hoc ait été renseignée pour éviter ça, ça mé riterait donc
une réflexion plus poussée pour mieux interpréter l'origine de l'er reur.

Dans ce cas je m'en sors comme ça :

Dim W As Worksheet
Dim R As Range
Set W = ActiveWorkbook.Worksheets("p")
p = 26
Set R = W.Range(W.Cells(p, 4), W.Cells(p, 35))

Et j'en déduis que le champ doit être délimité par deux cellules de la
même feuille, que si on ne précise pas la feuille il s'agit de la
feuille par défaut, et que dans certains contextes il n'y a pas de
feuille par défaut, donc elle ne convient pas.

N.B. S'agit pas de se mélanger les crayons avec une feuille qui
s'appelle "P" et une variable entière p qui désigne la ligne ;)
ça tombe bien que j'aie lu ça un Samedi, tiens.
Avatar
Lionel
Ca fonctionne enfin !!!

Mille Merci à vous deux !!!


"Gloops" a écrit dans le message de
news:jbvm5m$gr$
Lionel a écrit, le 09/12/2011 15:26 :
bonjour a tous

Qu'est ce qui fait que cela

Range(Cells(p, 4), Cells(p, 35)).Select

me renvoie une erreur d'execution 1004

Merci de votre aide

Lionel





Bonjour,

J'ai déjà eu ce problème en Automation, c'est-à-dire en générant le
classeur à partir d'une base Access. Le focus sur le bouton pourrait
être un élément d'explication si cette piste est la bonne, bien que la
propriété ad hoc ait été renseignée pour éviter ça, ça mériterait donc
une réflexion plus poussée pour mieux interpréter l'origine de l'erreur.

Dans ce cas je m'en sors comme ça :

Dim W As Worksheet
Dim R As Range
Set W = ActiveWorkbook.Worksheets("p")
p = 26
Set R = W.Range(W.Cells(p, 4), W.Cells(p, 35))

Et j'en déduis que le champ doit être délimité par deux cellules de la
même feuille, que si on ne précise pas la feuille il s'agit de la
feuille par défaut, et que dans certains contextes il n'y a pas de
feuille par défaut, donc elle ne convient pas.

N.B. S'agit pas de se mélanger les crayons avec une feuille qui
s'appelle "P" et une variable entière p qui désigne la ligne ;)
ça tombe bien que j'aie lu ça un Samedi, tiens.
1 2