Excel : Tasser 2 colonnes d'un coup!

Résolu
roym_89 Messages postés 6 Statut Membre -  
gbinforme Messages postés 14930 Date d'inscription   Statut Contributeur Dernière intervention   -
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!

5 réponses

  1. gbinforme Messages postés 14930 Date d'inscription   Statut Contributeur Dernière intervention   4 744
     
    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
  2. roym_89 Messages postés 6 Statut Membre
     
    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
  3. Paf
     
    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
  4. roym_89 Messages postés 6 Statut Membre
     
    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
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. gbinforme Messages postés 14930 Date d'inscription   Statut Contributeur Dernière intervention   4 744
     
    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