OVH Cloud OVH Cloud

Pb sur Fusion Cellule

13 réponses
Avatar
Mireille
Bjr,
Je cherche un moyen pour fusionner 3 cellules =E0 droite par=20
rapport =E0 la cellule active. Position que j'ignore bien=20
entendu et tout ceci en VBA.
Merci pour votre aide car j'y seche malgr=E9 la clim !!

10 réponses

1 2
Avatar
jps
bonjour mireille
quelquechose comme cela peut-être :

ActiveCell.Offset(0, 1).Range("A1:C1").Merge

HTH
jps

"Mireille" a écrit dans le message de
news:4b1a01c473a9$d0c81fa0$
Bjr,
Je cherche un moyen pour fusionner 3 cellules à droite par
rapport à la cellule active. Position que j'ignore bien
entendu et tout ceci en VBA.
Merci pour votre aide car j'y seche malgré la clim !!
Avatar
papou
Bonjour Mireille
Exemple ici sur la cellule A1, à adapter à ton cas avec Activecell
Range(Range("A1").Offset(0, 1), Range("A1").Offset(0, 1).Offset(0, 2)).Merge
Cordialement
Pascal

"Mireille" a écrit dans le message de
news:4b1a01c473a9$d0c81fa0$
Bjr,
Je cherche un moyen pour fusionner 3 cellules à droite par
rapport à la cellule active. Position que j'ignore bien
entendu et tout ceci en VBA.
Merci pour votre aide car j'y seche malgré la clim !!
Avatar
AV
Si c'est 3 cellules à droite en incluant la cellule active :
ActiveCell.Range("A1:C1").Merge

Si c'est 3 cellules à droite en n'incluant pas cellule active :
ActiveCell.Range("B1:D1").Merge

AV
Avatar
papou
Donc plus précisement :
Range(ActiveCell.Offset(0, 1), ActiveCell.Offset(0, 1).Offset(0, 2)).Merge

Cordialement
Pascal

"papou" <cestpasbonprobin@çanonpluscg44.fr> a écrit dans le message de
news:
Bonjour Mireille
Exemple ici sur la cellule A1, à adapter à ton cas avec Activecell
Range(Range("A1").Offset(0, 1), Range("A1").Offset(0, 1).Offset(0,
2)).Merge

Cordialement
Pascal

"Mireille" a écrit dans le message
de

news:4b1a01c473a9$d0c81fa0$
Bjr,
Je cherche un moyen pour fusionner 3 cellules à droite par
rapport à la cellule active. Position que j'ignore bien
entendu et tout ceci en VBA.
Merci pour votre aide car j'y seche malgré la clim !!




Avatar
dadda
Puisque tu ne connais par avance les cellules à
fusionner,la macro de Pascal est impec. Si tu veux tu peux
la mettre dans un événement de feuille et la rendre
automatique chaque fois que tu en a besoin.Exemple dès que
tu tape un lettre et que tu cliques dessus les trois
cellules qui se trouvent à sa droite se fusionnent. Pour
cela j'ai choisi "a". Tu pourra en choisir une autre.
Aucune importance puisque une fois le travail fait, le
code la supprime.
Voici le code que je te propose, avec mes remerciements à
Pascal :

Private Sub Worksheet_SelectionChange(ByVal Target As
Range)
If Target.Value = "a" Then
Range(ActiveCell.Offset(0, 1), ActiveCell.Offset(0,
1).Offset(0, 2)).Merge
Target.Value = ""
End If
End Sub

Amicalement
Dadda

-----Message d'origine-----
Donc plus précisement :
Range(ActiveCell.Offset(0, 1), ActiveCell.Offset(0,
1).Offset(0, 2)).Merge


Cordialement
Pascal

"papou" <cestpasbonprobin@çanonpluscg44.fr> a écrit dans
le message de

news:
Bonjour Mireille
Exemple ici sur la cellule A1, à adapter à ton cas avec
Activecell


Range(Range("A1").Offset(0, 1), Range("A1").Offset(0,
1).Offset(0,


2)).Merge
Cordialement
Pascal

"Mireille" a
écrit dans le message


de
news:4b1a01c473a9$d0c81fa0$
Bjr,
Je cherche un moyen pour fusionner 3 cellules à droite
par


rapport à la cellule active. Position que j'ignore bien
entendu et tout ceci en VBA.
Merci pour votre aide car j'y seche malgré la clim !!





.




Avatar
AV
Et ma proposition ?
Qu'est-ce qu'elle a qui ne te convient pas ?
Les références relatives qui te perturbent ?
;-)

AV
Avatar
jps
j'espère que mireille parviendra à faire marcher la chose : moi, j'y suis
pas arrivé, dadda...
jps

"dadda" a écrit dans le message de
news:4dea01c473d6$e2bb0740$
Puisque tu ne connais par avance les cellules à
fusionner,la macro de Pascal est impec. Si tu veux tu peux
la mettre dans un événement de feuille et la rendre
automatique chaque fois que tu en a besoin.Exemple dès que
tu tape un lettre et que tu cliques dessus les trois
cellules qui se trouvent à sa droite se fusionnent. Pour
cela j'ai choisi "a". Tu pourra en choisir une autre.
Aucune importance puisque une fois le travail fait, le
code la supprime.
Voici le code que je te propose, avec mes remerciements à
Pascal :

Private Sub Worksheet_SelectionChange(ByVal Target As
Range)
If Target.Value = "a" Then
Range(ActiveCell.Offset(0, 1), ActiveCell.Offset(0,
1).Offset(0, 2)).Merge
Target.Value = ""
End If
End Sub

Amicalement
Dadda

-----Message d'origine-----
Donc plus précisement :
Range(ActiveCell.Offset(0, 1), ActiveCell.Offset(0,
1).Offset(0, 2)).Merge


Cordialement
Pascal

"papou" <cestpasbonprobin@çanonpluscg44.fr> a écrit dans
le message de

news:
Bonjour Mireille
Exemple ici sur la cellule A1, à adapter à ton cas avec
Activecell


Range(Range("A1").Offset(0, 1), Range("A1").Offset(0,
1).Offset(0,


2)).Merge
Cordialement
Pascal

"Mireille" a
écrit dans le message


de
news:4b1a01c473a9$d0c81fa0$
Bjr,
Je cherche un moyen pour fusionner 3 cellules à droite
par


rapport à la cellule active. Position que j'ignore bien
entendu et tout ceci en VBA.
Merci pour votre aide car j'y seche malgré la clim !!





.




Avatar
jps
de même qu'on ne doit pas parler après un ministre, je n'oserais pas ajouter
"et la mienne?" après un MVP...
jps

"AV" a écrit dans le message de
news:
Et ma proposition ?
Qu'est-ce qu'elle a qui ne te convient pas ?
Les références relatives qui te perturbent ?
;-)

AV




Avatar
dadda
Bonjour jps;
J'ai recopié le code à partir du post; à part l'éternel
problème des retours à la ligne,il marche. Ne pas oublier
de le mettre dans un module de feuille (Copier le code
puis Clique droit sur l'onglet (feuil1)-->clique sur
visualiser le code puis coller. Arranger les retours à la
ligne ;-)).
Ma bécane est sous windows 98 et office 2000.
Amicalement
-----Message d'origine-----
j'espère que mireille parviendra à faire marcher la
chose : moi, j'y suis

pas arrivé, dadda...
jps

"dadda" a écrit dans le
message de

news:4dea01c473d6$e2bb0740$
Puisque tu ne connais par avance les cellules à
fusionner,la macro de Pascal est impec. Si tu veux tu peux
la mettre dans un événement de feuille et la rendre
automatique chaque fois que tu en a besoin.Exemple dès que
tu tape un lettre et que tu cliques dessus les trois
cellules qui se trouvent à sa droite se fusionnent. Pour
cela j'ai choisi "a". Tu pourra en choisir une autre.
Aucune importance puisque une fois le travail fait, le
code la supprime.
Voici le code que je te propose, avec mes remerciements à
Pascal :

Private Sub Worksheet_SelectionChange(ByVal Target As
Range)
If Target.Value = "a" Then
Range(ActiveCell.Offset(0, 1), ActiveCell.Offset(0,
1).Offset(0, 2)).Merge
Target.Value = ""
End If
End Sub

Amicalement
Dadda

-----Message d'origine-----
Donc plus précisement :
Range(ActiveCell.Offset(0, 1), ActiveCell.Offset(0,
1).Offset(0, 2)).Merge


Cordialement
Pascal

"papou" <cestpasbonprobin@çanonpluscg44.fr> a écrit dans
le message de

news:
Bonjour Mireille
Exemple ici sur la cellule A1, à adapter à ton cas avec
Activecell


Range(Range("A1").Offset(0, 1), Range("A1").Offset(0,
1).Offset(0,


2)).Merge
Cordialement
Pascal

"Mireille" a
écrit dans le message


de
news:4b1a01c473a9$d0c81fa0$
Bjr,
Je cherche un moyen pour fusionner 3 cellules à droite
par


rapport à la cellule active. Position que j'ignore bien
entendu et tout ceci en VBA.
Merci pour votre aide car j'y seche malgré la clim !!





.




.





Avatar
AV
"et la mienne?"
ActiveCell.Offset(0, 1).Range("A1:C1").Merge


Elle est tout à fait valide (celle de papou aussi bien sur) mais on peut faire
des "économies" en se passant de l'Offset :et en ne servant que des références
relatives (à la cellule active) :
La tienne équivaut à :
ActiveCell.Range("B1:D1").Merge

Pas capital tout ça mais bon...
AV

1 2