Coller plusieurs sélection dans une même cellule

yannoch

XLDnaute Junior
Bonjour à tous,

ça faisait un petit moment que j'avais pas fait de macro, et je viens de me relancer dedans pour un besoin personnel.

Donc entrons dans le vif du sujet,
avec la macro ci-dessous (dans le workbook du fichier), je copie grâce à un double-clique le contenu d'une cellule de la feuille "Cat 01" vers une cellule précise dans la feuille "Liste":
Private Sub Workbook_SheetBeforeDoubleClick(ByVal Sh As Object, ByVal Target As Range, Cancel As Boolean)
Dim position As Integer
If ActiveCell.Column = 1 And ActiveCell.Row <= 500 Then
position = Sheets("Liste").Range("C65535").End(xlUp).Row
If Sheets("Liste").Range("C2") = "" Then position = 0
If ActiveSheet.Name = "Cat 01" Then Sheets("Liste").Cells(position + 2, 3) = ActiveCell
End If
End Sub
Il y avait certainement plus simple comme macro, mais j'ai pas trouvé.

Ce que j'aimerais donc faire maintenant, est que si je double-clique sur une autre cellule (toujours la même colonne) de la feuille "Cat 01", que ça se rajoute à la suite dans la cellule ciblée de la feuille "Liste" pour avoir comme résultat dans la cellule:
selection1 ; selection2 ; selection2 ; etc....

voilà, je vous remercie d'avance pour vos lumières, je continu de chercher de mon côté pendant ce temps :)
 

wilfried_42

XLDnaute Barbatruc
Re : Coller plusieurs sélection dans une même cellule

Bonjour

je ne sais pas si j'ai tout compris :confused:

Code:
If ActiveSheet.Name = "Cat 01" Then 
    if Sheets("Liste").Cells(position + 2, 3) = "" then 
       Sheets("Liste").Cells(position + 2, 3) = ActiveCell
    else
       Sheets("Liste").Cells(position + 2, 3) = Sheets("Liste").Cells(position + 2, 3) & ";" & ActiveCell
    end if
end if

bonne soirée
 

yannoch

XLDnaute Junior
Re : Coller plusieurs sélection dans une même cellule

Bonjour à tous,
Je reviens sur ce post, car je souhaiterai faire une petite évolution de la macro de Wilfried (ou pas un autre moyen).
Je m'explique, pour le moment avec la macro que m'a donné Wilfried, en double-cliquant sur n'importe quelle cellule de la feuille "Cat 01" ou j'ai une liste de configuration, je copie le contenu + ";" dans une cellule précise de la feuille "Liste"

Ce qui me donne comme résultat (par exemple) :
Config1;Config2;etc;

Mais en détails, sur ma feuille "Cat 01", j'ai une liste de configuration avec en face pour chacune plusieurs colonnes de paramètres.
ex:
____A____|____B____|____C____|____D____
config1___|Param1___|Param2___|Param3___
config2___|_________|Param4___|Param5___
config3___|_________|_________|Param6___
(les "_", c'est juste pour que ça ressemble à quelques cellules)

Ce que j'aimerais donc faire au lieu de copier simplement la valeur "config1"+";" en double-cliquant dessus, est que ça me fasse une copie des paramètres correspondant (mais pas forcément toutes les colonnes, juste les colonnes B et D par exemple) pour que ça me donne le résultat suivant sur ma feuille "Liste" (cellule précise toujours):
Config1(Param1,Param3);Config3(Param6,);

Voilà, j'espère que je suis resté clair dans mon explication, car durdur.

Merci d'avance pour vos réponses.
 

wilfried_42

XLDnaute Barbatruc
Re : Coller plusieurs sélection dans une même cellule

re:

un fichier exemple est necessaire, plusieurs solutions sont possibles et je n'ai pas encore tout forcemment compris.

dans l'exemple que tu nous donnes, il n'y a pas la config2..........:confused:

@ te lire
 

yannoch

XLDnaute Junior
Re : Coller plusieurs sélection dans une même cellule

re:

dans l'exemple que tu nous donnes, il n'y a pas la config2..........:confused:

@ te lire

Normal, mais je n'ai pas précisé pourquoi il est vrai.
Donc tout simplement parceque dans cette hypothèse, je n'ai pas double-cliqué sur config2, j'ai juste doublié cliqué sur config1 et config3.

Pour le fichier, j'essaye de faire ça rapidement
 

wilfried_42

XLDnaute Barbatruc
Re : Coller plusieurs sélection dans une même cellule

re:

voici le code

Code:
Private Sub Workbook_SheetBeforeDoubleClick(ByVal Sh As Object, ByVal Target As Range, Cancel As Boolean)
    Dim drapeau As Boolean, i As Integer, ok As Boolean
    drapeau = False: ok = False
    If ActiveSheet.Name = "Config" Then
        Cancel = True
        If Sheets("Liste").Range("D10") > "" Then Sheets("Liste").Range("D10") = Sheets("Liste").Range("D10") & ";"
        For i = 2 To ActiveSheet.Range("IV" & Target.Row).End(xlToLeft).Column
            If i = 2 Then Sheets("Liste").Range("D10") = Sheets("Liste").Range("D10") & Target & "("
            If ActiveSheet.Cells(Target.Row, i) > "" Then
               If ok = True Then Sheets("Liste").Range("D10") = Sheets("Liste").Range("D10") & ";"
               ok = True
               Sheets("Liste").Range("D10") = Sheets("Liste").Range("D10") & ActiveSheet.Cells(Target.Row, i)
            End If
        Next i
        Sheets("Liste").Range("D10") = Sheets("Liste").Range("D10") & ")"
    End If
End Sub

Bonne semaine
 

yannoch

XLDnaute Junior
Re : Coller plusieurs sélection dans une même cellule

Merci beaucoup Wilfried encore une fois :)
Mais, tous les paramètres en face de la config sont copiés ce qui n'est pas tout à fait ce que je souhaiterai.
Est-ce qu'il y a possibilité de préciser dans la macro les colonnes paramètres que je veux copier ? par exemple seulement les paramètres de la colonne B et D (j'ignore la C même s'il y a un paramètre) sont copiés lorsque je double-clique sur une de mes config.
 

wilfried_42

XLDnaute Barbatruc
Re : Coller plusieurs sélection dans une même cellule

re:

les colonnes à recuperer sont elles toujours les memes ou tu peux en desirer d'autres à un certain moment ?

Voici un essai avec masquage des colonnes non voulues
 

Pièces jointes

  • yannoch.zip
    8.5 KB · Affichages: 26
Dernière édition:

yannoch

XLDnaute Junior
Re : Coller plusieurs sélection dans une même cellule

Merci Wilfried, mais effectivement, il pourra y en avoir d'autre, ce sertait plus simple pour moi, de pouvoir préciser dans la macro quelles colonnes seront à ignorer, c'est peut-être plus dur à mettre en oeuvre dans la macro ?
 

wilfried_42

XLDnaute Barbatruc
Re : Coller plusieurs sélection dans une même cellule

re:

voici la macro, en rouge les modifs
Code:
Private Sub Workbook_SheetBeforeDoubleClick(ByVal Sh As Object, ByVal Target As Range, Cancel As Boolean)
    Dim drapeau As Boolean, i As Integer, ok As Boolean
    drapeau = False: ok = False
    If ActiveSheet.Name = "Config" Then
        Cancel = True
        If Sheets("Liste").Range("D10") > "" Then Sheets("Liste").Range("D10") = Sheets("Liste").Range("D10") & ";"
        For i = 2 To ActiveSheet.Range("IV" & Target.Row).End(xlToLeft).Column
            If i = 2 Then Sheets("Liste").Range("D10") = Sheets("Liste").Range("D10") & Target & "("
[COLOR="red"]            select case i
            case 3,4 ' Liste des colonnes à ignorer
            case else[/COLOR]
                If ActiveSheet.Cells(Target.Row, i) > "" Then
                   If ok = True Then Sheets("Liste").Range("D10") = Sheets("Liste").Range("D10") & ","
                   ok = True
                   Sheets("Liste").Range("D10") = Sheets("Liste").Range("D10") & ActiveSheet.Cells(Target.Row, i)
                End If
            [COLOR="Red"]End select[/COLOR]
        Next i
        Sheets("Liste").Range("D10") = Sheets("Liste").Range("D10") & ")"
    End If
End Sub
 

Discussions similaires

Statistiques des forums

Discussions
312 492
Messages
2 088 895
Membres
103 982
dernier inscrit
krakencolas