Excel : Tasser 2 colonnes d'un coup!

Résolu/Fermé
roym_89 Messages postés 6 Date d'inscription vendredi 31 décembre 2010 Statut Membre Dernière intervention 22 avril 2011 - 31 déc. 2010 à 00:59
gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 - 31 déc. 2010 à 16:29
Bonjour,


Ce site me sauve souvent la vie quand j'ai des problèmes avec mes ordis et ou programmes, et j'espère qu'il pourra le faire encore...

Voici mon problème.

J'aimerais pouvoir tasser 2 colonnes en même temps sur un fichier excel. Je veux en quelques sortes les fusionner mais ne veux pas perdre mes deux colonnes de cellules.

Ex.

J'ai mes colonnes A B C D E F G H I ...

La colonne A est figée et je veux que me colonnes BC se tasse d'un seul clic...

A (BC) (DE) (FG) ....

Merci de votre aide!
A voir également:

5 réponses

gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 4 692
31 déc. 2010 à 06:21
bonjour

Je te propose cette macro qui fonctionne avec un double clic sur une cellule de la colonne où tu fusionnes :

Private Sub Worksheet_BeforeDoubleClick(ByVal sel As Range, Cancel As Boolean)
Cancel = True
Dim cel As Range
For Each cel In UsedRange.Columns(sel.Column).Cells
    cel.Value = cel.Value & cel.Offset(0, 1).Value
Next cel
Columns(sel.Column + 1).Delete
End Sub

La macro doit être mise dans le code de la feuille concernée.
0
roym_89 Messages postés 6 Date d'inscription vendredi 31 décembre 2010 Statut Membre Dernière intervention 22 avril 2011
Modifié par roym_89 le 31/12/2010 à 13:22
En quoi consiste une macro exactement!?

Et c'est peut-être moi qui ne sait pas trop comment ça fonctionne, mais visual basic me dit qu'il y a une erreur dans la ligne suivante:

« For Each cel In UsedRange.Columns(sel.Column).Cells »

Voici la manière donc mes lignes de codes sont écrites :

Sub Macro1()
'
' Macro1 Macro
'
' Touche de raccourci du clavier: Ctrl+z
'
Cancel = True
Dim cel As Range
For Each cel In UsedRange.Columns(sel.Column).Cells
    cel.Value = cel.Value & cel.Offset(0, 1).Value
Next cel
Columns(sel.Column + 1).Delete
End Sub


Où serait le problème?
0
bonjour,

je me permet d'intervenir:
le code proposé par gbinforme n'est pas à placer dans une macro, mais dans une sub prédéfinie de la feuille .

Dans l'éditeur Visual Basic:

<Affichage> puis explorateur de projet

dans la fenêtre qui s'ouvre (ou qui était déjà ouverte) double clic sur le nom de la feuille où doit intervenir le code

dans la nouvelle fen^tre sous le bandeau titre, dans la case de gauche selectionne: Worksheet,

et c'est dans la fenêtre qu'il faut alors coller le code

Bonne journée
0
roym_89 Messages postés 6 Date d'inscription vendredi 31 décembre 2010 Statut Membre Dernière intervention 22 avril 2011
31 déc. 2010 à 15:28
J'arrive à entrer le code dans la feuille, mais elle ne fait pas l'effet voulue. Est-ce que je dois activer quelque chose à quelque part?

Merci!
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 4 692
Modifié par gbinforme le 31/12/2010 à 16:31
bonjour

cette macro qui fonctionne avec un double clic sur une cellule de la colonne où tu fusionnes

j'ai l'impression que tu n'as pas lu cette phrase car tu demandais le fonctionnement avec un clic mais ce serait difficile à manipuler alors j'ai choisis le double clic.

D'autre part il faut copier la totalité de la macro et ne pas changer son nom si tu veux qu'elle fonctionne au double clic.

Toujours zen
0