Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

erreur 1004 fusion

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

GHISLAIN

XLDnaute Impliqué
Bonsoir les Exceliens,


j'ai besoin de fusionner et de fusionner des cellules quand elles sont actives et pas toujours au même endroit .
J’obtiens lors de la fusion une erreur 1004 , erreur défini par l'application ou l'objet.

j'ai testé :

Range(ActiveCell.Offset(0, 0), ActiveCell.Offset(-1, 0)).Merge

ensuite en sélectionnant les cellules avant :

Range(ActiveCell.Offset(0, 0), ActiveCell.Offset(-1, 0)).Select
Range(ActiveCell.Offset(0, 0), ActiveCell.Offset(-1, 0)).merge


ensuite en déclarant :
Dim i As Long, x As Integer, y As Integer
i = 1
x = -1
y = O

Range(ActiveCell.Offset(y, y), ActiveCell.Offset(x, y)).merge



mais rien a faire j'ai toujours l'erreur 1004



Nb suivant la cellule qui est active j'ai besoin de fusionner soit avec la cellule du bas ou la cellule haut


Merci a tous de votre aide

Bien amicalement


Ghislain
 
Bonsoir

il faudrait déjà vérifier la cellule Active !?
msgbox ActiveCell.address

pour voir si on est pas en Ligne1 ou/et Colonne1
auquel cas ActiveCell.Offset(-1, 0)).Merge ! le (-1) cause forcément une erreur !?
 
Re,

je crois que j'ai trouvé

Dim i As Integer 'Merge first columns
i = -1
With ActiveSheet
.Range(ActiveCell.Offset(0, 0), ActiveCell.Offset(i, 0)).MergeCells = True
End With
sauf erreur de ma part

si ca peut servir

Merci
 
re

je ne vois pas ce qui change !?

que ce soit
.Range(ActiveCell.Offset(0, 0), ActiveCell.Offset(-1, 0)).MergeCells = True

ou avec I=-1
.Range(ActiveCell.Offset(0, 0), ActiveCell.Offset(i, 0)).MergeCells = True

c'est exactement pareil !
ça fait toujours ligne actuelle -1 et comme je te l'ai dis si la cellule active est sur la 1'ligne alors - 1 ça va planter !
 
re

je viens de tester ceci
Range(ActiveCell.Offset(0, 0), ActiveCell.Offset(-1, 0)).Merge
en étant sur une cellule autre que sur la ligne 1 c'est ok !
si je suis sur la 1'ligne = plantage ! et c'est normale, puisque ça donne ligne 0 !
 
re

avec ce que tu donnes comme info on ne peut guère tirer de conclusion !

EDIT:
pour éviter les erreurs il te faut tester la ligne sur laquelle est placée la cellule active, avec ActiveCell.Row
 
Dernière édition:
re ,
du coup je pallie au souci de la façon suivante

' cellule bas
If InRange(ActiveCell, Range("C8😱8")) Or _
InRange(ActiveCell, Range("C10😱10")) Or _
InRange(ActiveCell, Range("C12😱12")) Or _
InRange(ActiveCell, Range("C14😱14")) Or _
InRange(ActiveCell, Range("C16😱16")) Then
Range(ActiveCell.Offset(0, 0), ActiveCell.Offset(1, 0)).Merge
end if

'cellule haut
If InRange(ActiveCell, Range("C7😱7")) Or _
InRange(ActiveCell, Range("C9😱9")) Or _
InRange(ActiveCell, Range("C11😱11")) Or _
InRange(ActiveCell, Range("C13😱13")) Or _
InRange(ActiveCell, Range("C15😱15")) Then
If ActiveCell = "" And ActiveCell(2, 1) = "" Then

Range(ActiveCell.Offset(1, 0), ActiveCell.Offset(1, 0)).Merge
End If
ActiveCell.Select
End If
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

  • Question Question
Microsoft 365 worksheet_change
Réponses
29
Affichages
1 K
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…