OVH Cloud OVH Cloud

Coller par macro des cellules fusionnées

4 réponses
Avatar
Patrick BASTARD
Bonsoir, toutes et tous.

Après moultes recherches infructueuses, j'aurais bien besoin de vos lumières
:

Clic droit sur une appli interne, (dont je ne connais pas la source), Tout
sélectionner, Copier.
Sélectionner la feuille Excel,
Coller : ça fonctionne.
Collage spécial, valeurs : ça fonctionne.
La même chose avec l'enregistreur de macro : ça fonctionne :

Mais si je sélectionne la feuille et que je lance la macro :
Range("B2").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone,
SkipBlanks _
:=False, Transpose:=False
J'obtiens le message : Erreur d'exécution '1004': La méthode PasteSpecial de
la classe Range a échoué.
Pourquoi tant de N ?...

Pour info, lorsque je colle la source sur ma feuille en collage "normal",
certaines cellules sont fusionnées, ( et je sais que les cellules fusionnées
ne font pas bon ménage avec VBA). Serait-ce la cause du problème ?
Et comment y remédier, sachant que je n'ai aucun moyen de modifier la source
?

Win XP, Excel 2000.

Merci par avance à qui pourra me dépatouiller.


--
Bien cordialement,
P. Bastard

--
Bien cordialement,
P. Bastard

4 réponses

Avatar
...patrick
Pourquoi cher homonyme, encore utiliser ces s.... de fusions de cellules
????
"centrer sur plusieurs colonnes" est bien plus sûr.

...Patrick


"Patrick BASTARD" a écrit dans le
message de news:
Bonsoir, toutes et tous.

Après moultes recherches infructueuses, j'aurais bien besoin de vos
lumières

:

Clic droit sur une appli interne, (dont je ne connais pas la source), Tout
sélectionner, Copier.
Sélectionner la feuille Excel,
Coller : ça fonctionne.
Collage spécial, valeurs : ça fonctionne.
La même chose avec l'enregistreur de macro : ça fonctionne :

Mais si je sélectionne la feuille et que je lance la macro :
Range("B2").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone,
SkipBlanks _
:úlse, Transpose:úlse
J'obtiens le message : Erreur d'exécution '1004': La méthode PasteSpecial
de

la classe Range a échoué.
Pourquoi tant de N ?...

Pour info, lorsque je colle la source sur ma feuille en collage "normal",
certaines cellules sont fusionnées, ( et je sais que les cellules
fusionnées

ne font pas bon ménage avec VBA). Serait-ce la cause du problème ?
Et comment y remédier, sachant que je n'ai aucun moyen de modifier la
source

?

Win XP, Excel 2000.

Merci par avance à qui pourra me dépatouiller.


--
Bien cordialement,
P. Bastard

--
Bien cordialement,
P. Bastard




Avatar
Patrick BASTARD
Bonjour, *cher homonyme*

Je me sentais un peu seul, avec ma question restée sans réponse, alors,
merci de me sortir de ma triste solitude.
;-)


Pourquoi cher homonyme, encore utiliser ces s.... de fusions de cellules
????
"centrer sur plusieurs colonnes" est bien plus sûr.


Je suis bien d'accord avec toi, mais je n'ai pas le choix : la page que je
copie n'est pas une page Excel (peut-être HTML ?), et ce n'est que lors du
collage dans Excel que je vois des cellules fusionnées

Ce que je ne comprends pas, c'est qu'à la mimine, ça fonctionne.
J'ai donc enregistré avec l'enregistreur toutes les étapes :sélectionner une
cellule, edition, collage spécial, valeurs.

Mais plantage laamentable lorsque je demande (poliment, pourtant) à VBA de
faire ce que je viens de lui apprendre.

Ca énerve...
:-(

Bien entendu, toute suggestion sera la bienvenue.


--
Bien cordialement,
P. Bastard

...Patrick


"Patrick BASTARD" a écrit dans le
message de news:
Bonsoir, toutes et tous.

Après moultes recherches infructueuses, j'aurais bien besoin de vos
lumières



Clic droit sur une appli interne, (dont je ne connais pas la
source), Tout sélectionner, Copier.
Sélectionner la feuille Excel,
Coller : ça fonctionne.
Collage spécial, valeurs : ça fonctionne.
La même chose avec l'enregistreur de macro : ça fonctionne :

Mais si je sélectionne la feuille et que je lance la macro :
Range("B2").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone,
SkipBlanks _
:úlse, Transpose:úlse
J'obtiens le message : Erreur d'exécution '1004': La méthode
PasteSpecial de la classe Range a échoué.
Pourquoi tant de N ?...

Pour info, lorsque je colle la source sur ma feuille en collage
"normal", certaines cellules sont fusionnées, ( et je sais que les
cellules fusionnées ne font pas bon ménage avec VBA). Serait-ce la
cause du problème ?
Et comment y remédier, sachant que je n'ai aucun moyen de modifier
la source ?

Win XP, Excel 2000.

Merci par avance à qui pourra me dépatouiller.


--
Bien cordialement,
P. Bastard

--
Bien cordialement,
P. Bastard





Avatar
...patrick
re
ceci peut t'aider alors ...

Sub defusion()
For Each zaza In ActiveSheet.UsedRange
If zaza.MergeCells Then zaza.MergeCells = False
Next
End Sub

Bye

"Patrick BASTARD" a écrit dans le
message de news:
Bonjour, *cher homonyme*

Je me sentais un peu seul, avec ma question restée sans réponse, alors,
merci de me sortir de ma triste solitude.
;-)


Pourquoi cher homonyme, encore utiliser ces s.... de fusions de cellules
????
"centrer sur plusieurs colonnes" est bien plus sûr.


Je suis bien d'accord avec toi, mais je n'ai pas le choix : la page que je
copie n'est pas une page Excel (peut-être HTML ?), et ce n'est que lors du
collage dans Excel que je vois des cellules fusionnées

Ce que je ne comprends pas, c'est qu'à la mimine, ça fonctionne.
J'ai donc enregistré avec l'enregistreur toutes les étapes :sélectionner
une

cellule, edition, collage spécial, valeurs.

Mais plantage laamentable lorsque je demande (poliment, pourtant) à VBA de
faire ce que je viens de lui apprendre.

Ca énerve...
:-(

Bien entendu, toute suggestion sera la bienvenue.


--
Bien cordialement,
P. Bastard

...Patrick


"Patrick BASTARD" a écrit dans le
message de news:
Bonsoir, toutes et tous.

Après moultes recherches infructueuses, j'aurais bien besoin de vos
lumières



Clic droit sur une appli interne, (dont je ne connais pas la
source), Tout sélectionner, Copier.
Sélectionner la feuille Excel,
Coller : ça fonctionne.
Collage spécial, valeurs : ça fonctionne.
La même chose avec l'enregistreur de macro : ça fonctionne :

Mais si je sélectionne la feuille et que je lance la macro :
Range("B2").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone,
SkipBlanks _
:úlse, Transpose:úlse
J'obtiens le message : Erreur d'exécution '1004': La méthode
PasteSpecial de la classe Range a échoué.
Pourquoi tant de N ?...

Pour info, lorsque je colle la source sur ma feuille en collage
"normal", certaines cellules sont fusionnées, ( et je sais que les
cellules fusionnées ne font pas bon ménage avec VBA). Serait-ce la
cause du problème ?
Et comment y remédier, sachant que je n'ai aucun moyen de modifier
la source ?

Win XP, Excel 2000.

Merci par avance à qui pourra me dépatouiller.


--
Bien cordialement,
P. Bastard

--
Bien cordialement,
P. Bastard









Avatar
Patrick BASTARD
Bonjour, *...patrick*

ceci peut t'aider alors ...

Sub defusion()
For Each zaza In ActiveSheet.UsedRange
If zaza.MergeCells Then zaza.MergeCells = False
Next
End Sub


En fait, non, car le problème n'est pas de défusionner des cellules, mais de
coller cette p... de source "inmodifiable " (6 colonnes, un nombre de
lignes aléatoire) préalablement copiée, sur cette p... de feuille, à partir
de B2.

Qu'est-ce qui cloche ?
sub colle()
Range("B2").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone,
SkipBlanks _
:úlse, Transpose:úlse
End Sub

J'obtiens le message : Erreur d'exécution '1004': La méthode
PasteSpecial de la classe Range a échoué.





je subodore une erreur tellement évidente que je ne l'ai pas détectée.
;-( :-(
--
Bien cordialement,
P. Bastard