Dupliquer une cellule par double click

Bonjour a vous,

Présentation de ma personne en 2 mots

A titre pro je suis entrain de développer ma petite entreprise et faute de moyens pour acheter des solutions toutes faites, j'adapte des outils Excel a cette dernière pour que les outils me ressemblent et répondent exactement à mes problématiques comptables.

Il y a encore 1 semaine j'utilisais XL pour faire des additions / soustraction & sommes ^^ .. c'est vous dire le niveau.

Maintenant je commence à maîtriser le principe des formules, des conditions si, ou <> , des mises en formes conditionnelles des liens etc. J'arrive à des résultats assez intéressants dont je ne me pensais pas vraiment capable.

Aujourd'hui mon problème m'impose de m’intéresser aux macro / vba auxquels je ne connais pas grand chose.

J'ai tenté comme à mon habitude de trouver la solution sur Google et le forum, mais ne maîtrisant absolument pas le langage j'ai simplement réussit à copier coller des codes tous prêts, fonctionnels, mais sans savoir comment les adapter à ma problématique.

Du coup je viens vous demander de l'aide sur quelque chose à la fois basique et à la fois pointu, que je n'ai pas pu trouver.

Objet du tableur : Rapprochement bancaire

Objectif de base recherché (pointage d'écritures comptables) :

Double click sur cellule A1 = Reproduire montant de cellule A1 en cellule B1

Contrainte 1 : La macro doit pouvoir être étendue sur plusieurs lignes, de plusieurs tableaux de la page, mais le double click devra agir que sur une seule ligne/cellule à la fois.

exemple de mise en page / action à réaliser :

- Double click sur A14 = reproduction du montant A14 uniquement en B14

Contrainte 2 : Si une ligne est insérée entre A1 et A10 (par exemple), portant le total du nombre de ligne du tableau non plus à 10 mais à 11, la ligne nouvellement crée supportera la macro et la macro s'appliquera non plus de A1 à A10 mais de A1 à A11.

Est ce possible ?

Merci par avance de votre aide.

Salut piairalex,

on peut tout faire, que ce soit par formule ou VBA, si nécessaire... mais sans fichier pour visualiser et comprendre ce que tu veux, ce qui doit être fait manuellement, ce qui peut être fait automatiquement, nous risquons tous de tourner en rond!

Sans oublier d'être précis dans tes besoins et attentes!

A+

Bonjour,

Oui c'est largement possible, après comme dirait curulis c'est mieux dans ce cas la avec un fichier et surtout que vos besoins soient bien clair

ECG

Bonsoir,

De façon générale, si tu illustres une situation de départ en termes d'organisation existante de tes données, et d'autre part le résultat souhaité à l'issue d'une action, il sera généralement toujours possible de te faire diverses propositions pour passer de l'une à l'autre...

Maintenant privilégier telle ou telle modalité de l'action ou de son déclenchement (double clic par exemple), il me semble préférable que cela reste au second plan afin de ne pas limiter les possibilités lors d'un premier examen de la question sur le fond...

Cordialement.

Ok merci, je tâcherai de préparer un fichier demain pour être plus clair.

Je viens de voir pour mettre par macro rapidement (avec un select case sur l'active row + cell cela se fait sans mal je trouve) ce que tu voulais pour te poser des questions

Détails bien ce que tu veux car au final je ne comprends pas :

- Colonne des termes sources à reproduire : de A1 à A10

- Colonne des termes à intégrer en duplicata via double click sur une cellule de la colonne A : de B1 à B10

Pour moi cela veut dire si on clique entre A1 et A10 ça recopie tout sur B1 a B10 c'est bien ça? ou tu veux faire de la multiselection ? si on sélectionne A1=> A10 et qu'on double click ça copie tout?

Car sinon pour A12-A20 qui se recopie sur B12-B20 d'un seul coup c'est en contradiction avec A13=B13 hmmm

De la même façon pour ta contrainte 2, c'est faisable dans la mesure ou l'on peut différencier tes lignes soit une colonne special pour mettre le groupe soit un début de chaine de caractère identique pour tout le groupe, etc sinon ca va être dur de différencier avec ton groupe A12-A20

ECG

Alors je reformule plus simplement ma question avec fichier à l'appuie

Dans le fichier figure 3 onglets :

(je préfère décortiquer ma question étapes par étapes pour me permettre de comprendre l'évolution du code) :

Onglet 1, la question de base : comment dupliquer une cellule vers une autre cellule par un double click.

Onglet 2, utilisation de la fonction de base sur une zone définie.

Onglet 3, utilisation de la fonction de base sur deux zone définie d'une même feuille.

Si jamais vous avez un doute sur ma question, conservez simplement en tête que la fonction à pour objectif de pointer des écritures bancaires de manière individuelle, et permettre leur reproduction dans un second tableau via un double click au fur et à mesure que les écritures sont pointées.

Par avance merci encore de votre aide

@ ExcelCoreGame : Les données doivent être traitées de manière unitaire et non collectives / groupées ou autre. Je pense que mon fichier sera un tantinet plus explicatif.

Salut Piairalex,

salut l'équipe,

je crois que tu sors la grosse artillerie un peu vite si ce n'est que pour tuer un moustique!

Quelle que soit la situation que tu exposes, le code reste le même!

Si le double-clic ne doit se produire que dans UNE feuille => à coller dans le module de cette feuille.

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
'
Cancel = True
If Not Intersect(Target, Range("B:B")) Is Nothing And Target <> "" Then Target.Offset(0, 2) = Target
'
End Sub

Si le double-clic doit pouvoir se produire dans plusieurs feuilles mais toujours en colonne [B:B] => à coller dans 'THISWORKBOOK'

Private Sub Workbook_SheetBeforeDoubleClick(ByVal Sh As Object, ByVal Target As Range, Cancel As Boolean)
'
Cancel = True
If Not Intersect(Target, Range("B:B")) Is Nothing And Target <> "" Then Target.Offset(0, 2) = Target
'
End Sub

Tu devrais nous expliquer toutes les "manoeuvres" que tu envisages sur tes données pour te donner un code efficace...

A+

+1 curulis57 et niquel ce code yes

Le code en lui même est rapidement fait , reste à voir si cela va convenir au final dans ce que tu veux faire ^^

J'ai l'impression que tu ne sais pas toi même ce que tu as besoin de faire par la suite

ECG

Rien d'autre ?

Merci beaucoup pour le code, je suis entrain de comprendre son fonctionnement et de l'appliquer à mes formules.

Ça a l'air de passer, je potasse le truc et reviens vers vous soit pour crier victoire, soit avec quelque questions d'ajustement

@Mferrand si si je sais précisément ce que je veux.

@ curulis57 merci encore pour cette formule qui fonctionne très bien

En l état j ai pu l utiliser sur plusieurs pages grace à ton conseil / second code. (Bon conseil)

J ai compris qu une des variable du code correspondait au nombre de colonnes séparant celle du double click. Un simple ajustement m a permis de l adapter à mon tableau

J avais également besoin d appliquer ce code à une seconde colonne de la feuille , j ai essayé de dupliquer la ligne de commande principale et la placer juste en dessous de la première en changeant le nom de la colonne ce qui a fonctionné. Eureka.

En revanche j ai constaté 2 contraintes qui ne sont pas derrangeantes mais qui ont peut être une solution.

1) si je determine que le double click ne s applique non pas sur tout la colonne B;B mais par exemple de B1 à B5 , l insertion d une ligne ne va pas étendre la macro de B1 à B6

J ai fais le test ça ne marche pas, donc je suis revenu avec la variable B;B .. au pire c est pas derrangeant.

2) la colonne B est bien sensible au double click, mais du coup le reste des cellules de la feuille ne peuvent plus être double clickes pour rentrer en mode saisie. Là aussi je peux faire sans mais peut être existe t il une commande permettant de supprimer ce problème.

Sinon à part ça c est parfait. Encore un merci à vous tous, problème résolu.

Salut Piairalex,

pour ton premier problème, je ne vois pas trop quoi faire : j'y réfléchirai plus tard.

Pour le second, voici, avec, en prime, des idées d'ajustement des cellules-cible.

Les cellules des colonnes [B] et [G] se copient en fonction de l'Offset sur mesure.

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
'
If Not Intersect(Target, Union(Range("B:B"), Range("G:G"))) Is Nothing And Target <> "" Then
    Cancel = True
    Target.Offset(IIf(Target.Column = 2, 0, 2), IIf(Target.Column = 2, 2, 4)) = Target
End If
'
End Sub

A+

Pour ton premier problème, il y aurait une possibilité assez facile de cibler les lignes double-cliquables. Y a-t-il une donnée fixe (genre titre de section, par ex.) sous B1 : Bxxx ?

Cela permettrait, avec FIND, de calculer cette ligne et ainsi de délimiter une zone precise de B : B !

A+

Salut !

@Mferrand si si je sais précisément ce que je veux.

Je ne crois pas avoir rien dit de tel !

Ma première intervention ne visait qu'à t'inciter à ne pas te précipiter sur la première solution apparente avant d'être allé au bout de la question ou d'avoir envisagé toutes les alternatives possibles...

La seconde (et dernière) à m'enquérir si de fait la question était résolue...

Je n'ai plus depuis regardé de près le déroulement, occupé ailleurs, et ta collaboration avec Curulis paraissant te convenir parfaitement, aucune raison de venir risquer de la perturber !

Bonne continuation et cordialement.

Rechercher des sujets similaires à "dupliquer double click"