Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Macro au vin blanc

17 réponses
Avatar
Pointcom
Bonjour,

Vu que ce forum résiste encore et toujours, je pose ma question

J'ai une macro qui plante et je ne sais pas pourquoi.

Modele.value contient simplement le nom d'une feuille du classeur et
n'est pas en cause.

Private Sub AjoutRef_Click()

Dim LigneDebut, LigneFin As Integer

If Modele.ListIndex = -1 Then Exit Sub

LigneDebut = Sheets(Modele.Value).Range("A65536").End(xlUp).Row


LigneFin=Sheets(Modele.Value).Range("A65536").End(xlUp).Offset(2,0).Row

**********Les deux msg box fonctionne et sont là pour test

MsgBox (Sheets(Modele.Value).Range("A1").Rows(LigneDebut &
":"&LigneFin).EntireRow.Address)
MsgBox (Sheets(Modele.Value).Range("A1").Rows(LigneDebut + 3 &
":" & LigneFin + 3).EntireRow.Address)

Sheets(Modele.Value).Range("A1").Rows(LigneDebut & ":" &
LigneFin).EntireRow.Copy

************** C'est ci dessous que ça me met systématiquement une
***************erreur 438
****** j ai essayé plein de truc mais ça plante

Sheets(Modele.Value).Range("A1").Rows(LigneDebut + 3 & ":" &
LigneFin + 3).EntireRow.Paste

End Sub


Si qqun voit de quoi il en reourne.......

7 réponses

1 2
Avatar
Daniel.C
Oups, ne pas tenir compte.
Daniel

Salut LSteph.
Pas moi, erreur 438 (XL2010).
Cordialement.
Daniel

LSteph écrit:

Re,
essaye plus simplement Copy destination , sans paste:



Avant de lire ton message, j'avais essayé et ça marche.
C'était la bonne solution.

Merci.
Avatar
LSteph
Salut Daniel,

ainsi, entirerow aussi dans lla destination et sans paste (crois pas
que ce serait un souci 2010???):

Sheets(Modele.Value).Range("A1").Rows(LigneDebut & ":" &
LigneFin).EntireRow.Copy _
Sheets(Modele.Value).Range("A1").Rows(LigneDebut + 3 & ":" & LigneFin
+ 3).EntireRow


On 3 juin, 11:40, Daniel.C wrote:
Salut LSteph.
Pas moi, erreur 438 (XL2010).
Cordialement.
Daniel



> LSteph crit:

>> Re,
>> essaye plus simplement Copy destination , sans paste:

> Avant de lire ton message, j'avais essay et a marche.
> C' tait la bonne solution.

> Merci.- Masquer le texte des messages précédents -

- Afficher le texte des messages précédents -
Avatar
LSteph
;o)) je me suis contenté de reprendre et rectifier tel que pour que
cela fonctionne
Il y a fort à parier par ailleurs au vu de cette expression
Sheets(Modele.Value)
et du résultat obtenu que le tout pourrait se résumer encore à plus
simple....

@+

On 3 juin, 11:45, "Jacky" wrote:
Bonjour,
Ou plus simplement
'-------------
With Sheets(Modele.Value).
  .Range("A1").Rows(ligneDebut & ":" & LigneFin).EntireRow.Copy .Range( "a" & ligneDebut + 3)
 End With
--
Salutations
JJ

  "Pointcom" a écrit dans le message d e news:
  LSteph écrit:

  >Re,
  >essaye plus simplement Copy destination , sans paste:

  Avant de lire ton message, j'avais essayé et ça marche.
  C'était la bonne solution.

  Merci.
Avatar
isabelle
bonjour LSteph, bonjour à tous,

pourquoi la partie destination n'est pas simplement,

Sheets(Modele.Value).Range("A1")

isabelle

Le 2010-06-03 05:13, LSteph a écrit :
Re,
essaye plus simplement Copy destination , sans paste:

'...
Sheets(Modele.Value).Range("A1").Rows(LigneDebut& ":"&
LigneFin).EntireRow.Copy _
Sheets(Modele.Value).Range("A1").Rows(LigneDebut + 3& ":"& LigneFin
+ 3).EntireRow
'..


'LSteph


On 3 juin, 10:48, Pointcom wrote:

LSteph écrit:


.. et quand tu utilise Dim.. As il faut le faire pour chaque



Certes et merci, mais ce n'est pas la cause de l'erreur.
J'ai essayé avec plein de variantes : l'adresse à copier en dur...
mais je me ramasse à chaque fois sur le paste.
Les lignes sont bien sélectionnées. Manuellement, ça passe
mais par macro ça coince.




Avatar
LSteph
Salut Isabelle,

Oui, sans doute...
...suis juste resté au code que le Monsieur il a écrit et que je ne
vois pas vraiment pourquoi il faut écrire tout ca pour si peu aussi
mais me suis contenté de rectifier ce qui coincait.
Comme tu peux lire plus haut ce que j'en disais à Jacky

Il y a fort à parier par ailleurs au vu de cette expression
Sheets(Modele.Value)
et du résultat obtenu que le tout pourrait se résumer encore à plus
simple....



@+

--


On 3 juin, 14:05, isabelle wrote:
bonjour LSteph, bonjour tous,

pourquoi la partie destination n'est pas simplement,

Sheets(Modele.Value).Range("A1")

isabelle

Le 2010-06-03 05:13, LSteph a crit :



> Re,
> essaye plus simplement Copy destination , sans paste:

> '...
> Sheets(Modele.Value).Range("A1").Rows(LigneDebut&  ":"&
> LigneFin).EntireRow.Copy _
> Sheets(Modele.Value).Range("A1").Rows(LigneDebut + 3&  ":"&  LigneF in
> + 3).EntireRow
> '..

> 'LSteph

> On 3 juin, 10:48, Pointcom  wrote:

>> LSteph   crit:

>>> .. et quand tu utilise Dim.. As il faut le faire pour chaque

>> Certes et merci, mais ce n'est pas la cause de l'erreur.
>> J'ai essay avec plein de variantes : l'adresse copier en dur...
>> mais je me ramasse chaque fois sur le paste.
>> Les lignes sont bien s lectionn es. Manuellement, a passe
>> mais par macro a coince.- Masquer le texte des messages précédents -

- Afficher le texte des messages précédents -
Avatar
isabelle
salut LSteph,

tu me rassure, je n'avais pas encore pris mon premier café, et là j'ai
pensé qu'il me manquais peut être un peu de sommeil ;-)
isabelle

Le 2010-06-03 08:28, LSteph a écrit :
Salut Isabelle,

Oui, sans doute...
...suis juste resté au code que le Monsieur il a écrit et que je ne
vois pas vraiment pourquoi il faut écrire tout ca pour si peu aussi
mais me suis contenté de rectifier ce qui coincait.
Comme tu peux lire plus haut ce que j'en disais à Jacky


Il y a fort à parier par ailleurs au vu de cette expression
Sheets(Modele.Value)
et du résultat obtenu que le tout pourrait se résumer encore à plus
simple....



@+

--


On 3 juin, 14:05, isabelle wrote:

bonjour LSteph, bonjour tous,

pourquoi la partie destination n'est pas simplement,

Sheets(Modele.Value).Range("A1")

isabelle

Le 2010-06-03 05:13, LSteph a crit :




Re,
essaye plus simplement Copy destination , sans paste:




'...
Sheets(Modele.Value).Range("A1").Rows(LigneDebut& ":"&
LigneFin).EntireRow.Copy _
Sheets(Modele.Value).Range("A1").Rows(LigneDebut + 3& ":"& LigneFin
+ 3).EntireRow
'..




'LSteph




On 3 juin, 10:48, Pointcom wrote:




LSteph crit:






.. et quand tu utilise Dim.. As il faut le faire pour chaque








Certes et merci, mais ce n'est pas la cause de l'erreur.
J'ai essay avec plein de variantes : l'adresse copier en dur...
mais je me ramasse chaque fois sur le paste.
Les lignes sont bien s lectionn es. Manuellement, a passe
mais par macro a coince.- Masquer le texte des messages précédents -





- Afficher le texte des messages précédents -




Avatar
Pointcom
LSteph écrit:

...suis juste resté au code que le Monsieur il a écrit et que je ne
vois pas vraiment pourquoi il faut écrire tout ca pour si peu aussi
mais me suis contenté de rectifier ce qui coincait.
Comme tu peux lire plus haut ce que j'en disais à Jacky



Je me contentais de reprendre de l'existant et vu le temps qui m'est
imparti, je ne vais pas tout remanier.
Tant que ça marche, je me dis que le mieux est l'ennemi du bien et que
martyr, c'est pourrir un peu.
1 2