Copier des cellules une à une

Raka

XLDnaute Occasionnel
Bonsoir,

deuxième sujet du jour (le premier étant resté en attente, et à défaut d'une solution, je ferai autrement demain.)

Ce coup-ci, j'ai réellement besoin de faire ainsi. Alors est-ce possible ?

J'ai une liste de noms de clients feuille 1, colonne B. A côté de chaque client, il y a une case à cocher/ contrôle-formulaire, qui renvoie une valeur VRAI/FAUX à cette même liste de clients (en colonne C).

Ce dont j'ai vraiment besoin, c'est de pouvoir cocher ces cases (donc activer/désactiver le VRAI/FAUX) pour sélectionner une liste de clients en particulier, par exemple Clients 1, 5, 18, 29. Pouvoir en sélectionner une dizaine, au minimum.
Et les voir apparaître dans une autre zone de la feuille 1, en une liste de plusieurs cellules, afin de pouvoir laisser des notes à côté de chacun d'eux. Et si je les décoche, les voir disparaître de cette liste. Par exemple, j'ai mes clients 1 5 18 et 29 sélectionnés, ils apparaissent dans cette deuxième liste qui se crée à partir de... rien, des cases vides si aucun client n'est sélectionné. Je désélectionne le client 5, et la liste se "réduit" en une liste de 3 lignes contenant uniquement les clients 1 18 et 29.

Si je suis assez clair, existe-t-il une option pour faire ce genre de chose ou quelque chose de ressemblant ?

Merci beaucoup.
 

mapomme

XLDnaute Barbatruc
Supporter XLD
Bonsoir @Raka,

Voir une piste dans le fichier joint. Le code est dans le module de Feuil1.
Sélectionnez une cellule de la colonne B de Feuil1 pour Cocher/Décocher.

VB:
Option Explicit

Const Coche = "þ"
Const Decoche = "o"

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim cellule As Range
   If Target.Count <> 1 Or Target.Column <> 2 Then Exit Sub
   If Target.Offset(, -1) = "" Or Target.Row = 1 Then Exit Sub
   Target.Font.Name = "Wingdings": Target.Font.Size = 14
   Target.HorizontalAlignment = xlCenter: Target.VerticalAlignment = xlCenter
   Target = IIf(Target <> Coche, Coche, Decoche)
   Target.Offset(, -1).Select
   On Error Resume Next
   With Feuil2
      If Target = Decoche Then
         On Error Resume Next
         Set cellule = .Columns("a:a").Find(what:=Target.Offset(, -1), LookIn:=xlValues, lookat:=xlWhole, MatchCase:=False)
         On Error GoTo 0
         If Not cellule Is Nothing Then cellule.EntireRow.Delete
      Else
         .Cells(.Rows.Count, "a").End(xlUp).Offset(1) = Target.Offset(, -1)
      End If
   End With
End Sub

Voir une piste dans le fichier joint. Le code est dans le module de Feuil1.
Sélectionnez une cellule de la colonne B de Feuil1 pour Cocher/Décocher.
 

Pièces jointes

  • Raka- case à cocher- v1.xlsm
    19.2 KB · Affichages: 8
Dernière édition:

Raka

XLDnaute Occasionnel
Waaah je suis complètement débutant là-dedans. Je ne comprends rien à ce que je lis :D
Mais merci !
Je vais essayer ça de suite. Par contre par "la case de cocher/décocher", on parle bien de celle qui donne le retour "vrai/faux" ? Parce que la "case à cocher contrôle/formulaire" n'est pas une cellule à proprement parler, elle n'est pas "dans" une cellule. En tout cas, je ne pense pas qu'excel le voie ainsi.
 

Raka

XLDnaute Occasionnel
Là où j'en suis actuellement, c'est là :

1591983108737.png


J'ai volontairement rentré des pseudonymes lambda en lieu et place des clients.
Donc je peux cocher leur présence dans les 3 jours où nous sommes ouverts, et les cases "présent" renvoient des valeurs "VRAI/FAUX" à une liste secondaire, qui elle me sert à colorer les cellules "noms de clients" via des mises en forme conditionnelles sur les cellules 'nom'.

Et ces coches sont en réalité crées par l'onglet développeur / contrôle / insérer un contrôle de formulaire.

A partir de ces coches-là, j'aimerais qu'une liste se crée et s'actualise en temps réel sur une autre partie de la même feuille (feuil1, toujours).
En réalité, il me faut 3 listes différentes contenant les clients présents sur chaque jour.

Je suis désolé, je crois que je ne m'étais pas assez bien expliqué.

Suis-je obligé de passer par cette interface proposée plutôt que par ce que j'ai fait ?

J'essaye d'apprendre et de comprendre la façon d'appeler cette liste, cela dit. J'ai trouvé le module, mais il n'y a pas de macro, et je ne comprends pas vraiment comment le code est appelé sur la feuille 2. Ou plutôt, je le comprends, mais ce n'est pas pratique ^^

Surtout si j'ai besoin de trois listes. Je pourrais évidemment les accepter sur plusieurs feuilles, à raison d'une liste par feuille, mais le code me dépasse un peu...
 
Dernière édition:

Raka

XLDnaute Occasionnel
Ok. Je vois comment ça fonctionne.
Mais le code me dépasse malgré tout. Je le comprends mais ne saurais le modifier de façon pertinente.

Est-il possible d'avoir la réponse à deux questions, du coup ?

- J'ai essayé de modifier les noms des clients, mais la 2ème liste créée les nomme malgré tout Cli-xxx. Où puis-je modifier ça ?
- Est-il possible de coder TROIS colonnes "coche / décoche" qui créent trois listes différentes, même si elles doivent être sur 3 feuilles différentes. Et du coup, chaque client doit posséder une valeur numérique, qui correspond au montant de sa facture, qui doit s'afficher dans la colonne à côté de la nouvelle liste (celle en feuille 2) et être mis à jour en fonction du nom du client lorsqu'on coche/décoche. Et ce, sur les 3 listes, du coup.


J'ai l'impression de demander un truc compliqué, et peut-être que je m'explique mal, Alors un exemple vaudra mieux.

J'ai une liste Client 1, client 2, client 3.

Chaque client possède, quelque part (peu importe où et comment tant que c'est possible) une valeur.
Mettons 500 pour client 1, 450 pour client 2 et 1000 pour client 3.
Je souhaite pouvoir cocher client 1 le lundi, client 2 le mardi, client 3 le mercredi. Donc un dans chaque liste "coche/décoche".

Ainsi, sur la feuille2 "lundi", je verrai apparaître "client 1" avec juste à côté "500", sur la feuille 3 "mardi", "client 2" avec à côté "450" et le 3ème client sur la feuille 3. Le tout en imaginant pouvoir créer des listes de 10 clients pour chaque jour se mettant à jour en temps réel en fonction des coches décoches comme dans l'exemple donné en pièce jointe plus haut par @mapomme.

Est-ce trop complexe ?
 

Discussions similaires

Statistiques des forums

Discussions
312 108
Messages
2 085 363
Membres
102 874
dernier inscrit
Petro2611