Transfert a partir d'un menu déroulant

Bonjour

Est-il possible de transférer le contenu d'une cellule ou d'un groupe de cellule d'un fichier à un autre fichier dans le même classeur en cliquant sur une option d'un menu déroulant.

Par exemple, je veux transférer le contenu de la cellule A10 de lq Feuil1 dans la cellule A1 de la Feuil 4 du même classeur en cliquant sur l'option transfert d'un menu déroulant

Hello bigari,

Tout est possible, sauf de faire le café

Peut-tu joindre tes deux fichiers? (L'un contenant le formulaire ou menu déroulant que tu souhaites utiliser)

(Les fichiers peuvent être épurés à ta guise, tant que ce qui concerne ta question y est)

Bonjour d3d9x

Je suis actuellement en mission et je n'ai pas accès à mes fichiers.

Je vous les ferai parvenir dès que je pourrai me libérer

Merci pour votre support.

Cordialement

Peux-tu juste me dire si le menu déroulant est dans un formulaire (userform), ou dans un contrôle (controle activeX)

C'est un menu déroulant créé dans Excel -Données--Outils-Valider-Liste

La liste offre les options suivantes: En cours, Complété, Transfert.

Lorsque je clique sur En cours, Une macro affiche l'heure sur le cellule suivante,(Début du travail) lorsque je clique sur Complété même chose (Fin du travail) Une formule calcule le temps d'exécution.

A titre d'exemple, le menu est sur la cellule F10, heure début F11, Heure fin F12, Temps d'exécution F13.

Ça ça marche. Là ou je bloque c'est de balancer ces informations sur un autre fichier pour mon historique en cliquant sur Transfert

Merci

Bonjour

Voici le fichier

Merci

Voilà une proposition ci jointe.

Je n'ai pas respecté ta demande concernant la cellule A1 de la seconde feuille, en effet cette cellule n'est pas vide.

Le code y est et fonctionne, à toi de l'adapter à ton besoin. Si tu as besoin de plus d'aide, demande

Bonjour d3d3x

J'ai un problème que je n'arrive pas à résoudre concernant le fichier que je vous ai envoyé il y a quelques jours.

Lorsque je veux effacer les cellules de la feuille 1, un message de Bog s'affiche (Erreur d'exécution 13) Le problème provient apparemment de cette ligne de code:

If Target.Column <> 7 Or Target.Value = "" Then Exit Sub

Pouvez-vous m'aider là dessus.

Je voudrais par le même occasion si c'est possible concernant ce fichier, faire en sorte que lorsque je clique sur transfert, les cellules d'une des lignes du fichier de la feuille 1 ex: A6:J6, les cellules C6:J6 s'efface en même temps.

De plus, pour que cela fonctionne bien, il faut que les transferts de la feuille 1 à la feuille 2 se fassent sur la feuille 2 une ligne à la suite de l'autre et ainsi de suite. ( c'est pour me créer un historique)

Merci pour votre support

Cordialement

Toutes mes excuses. La partie du code qui ne fonctionne pas est:

Target.Value

Voilà le code corrigé et commenté :

Private Sub Worksheet_Change(ByVal Target As Range)
'on sort en cas de sélection multiple
If Target.Rows.Count <> 1 Or Target.Columns.Count <> 1 Then Exit Sub
'on sort si la columne changée n'est pas la colonne 7 ou si on est avant la ligne 6 ou si la cellule est vide
If Target.Column <> 7 Or Target.Row < 6 Or Target.Value = "" Then Exit Sub

'On récupère le numéro de la ligne
col = Target.Row
If Target.Value = "Complété" Then lettre = "i" Else lettre = "h"
Range(lettre & col).Select

If Range(lettre & col) = "" Then Range(lettre & col) = Now
    Selection.Locked = True
    Selection.FormulaHidden = False
End Sub

Je vais répondre aux autres questions un peu plus tard

EDIT --------------

En fait, lorsque tu sélectionnes transfert, tu veux transferer la ligne vers la Feuille2, et supprimer la ligne de la feuille1?

Merci beaucoup

Votre support est vraiment apprécié

Cordialement

Une question s'est glissée sournoisement dans mon dernier post et la pauvre n'a malheureusement pas eu de réponse

d3d9x a écrit :

En fait, lorsque tu sélectionnes transfert, tu veux transférer la ligne vers la Feuille2, et supprimer la ligne de la feuille1?

Je comprend pas ton histoire d'effacer des cellules ^^

Peux-tu modifier ce fichier avec ce que tu veuxaprès le transfert? précise bien ce que tu veux dans les deux feuilles.

Avant le transfert

Après le transfert

Bonjour d3d9x

Je supervise des mécaniciens qui exécutent des travaux de réparation d'équipements mobile en Afrique de l'Ouest

J'utilise ce fichier pour suivre la progression des travaux en cours.

Dans l'exemple ici-bas, lorsque SANOU a terminé son travail, je le transfert sur la Feuille2 pour mon historique où mes archives. (Je le fais manuellement actuellement)

Une fois son travail accompli, je dois lui donner une autre tâche. Alors j'efface sa tâche précédente, celle qui se rapporte à la réparation de la fuite d'air du CS-455 et je lui en donne une autre, et ainsi de suite.

Tout cela je le fais manuellement, mais si c'est possible que cela se fasse en un click!

Je débute en VBA, je me débrouille pour certaines choses simples mais lorsque ça se complique, j'ai besoin d'un coup de main.

Pour ce qui est du transfert sur la feuille2, il est impératif que le contenu des cellules transférées s'affichent les une à la suite des autres.

Si je transfert sur B1

Le prochain transfert doit se faire sur B2 et ainsi de suite par exemple.

Encore une fois merci pour votre support

3 SANOU Abdoul Karim mes-4324 cs-455 fuite d'air 10,00 Complété 21:15:08 16-3-12 21:15 00:00:06

3 SANOU Abdoul Karim

Bigari

Voilà une proposition.

Deux remarques:

- Dans ton code, écrire

col = Target.Row

C'est comme dire une carotte = une patate Ta variable col contient un numéro de ligne, pas de colonne. Bref c'est ton code je laisse mais fais attention

- pour mes essais, pleins de lignes ont été modifiées, à toi de réimporter proprement tes données

Si ultérieurement tu veux changer le nom des feuilles de travail, il faut éditer les lignes suivantes:

Private Const feuilleTravail As String = "Fiche de travail"
Private Const feuilleSauvegarde As String = "Histo"

où "Fiche de travail" et "Histo" sont les noms des feuilles.

rq

Bonjour d3d9x

J’ai créé un nouveau fichier (Actuellement en construction) que je vais utiliser à la place de celui que je vous ai présenté précédemment

J’ai essayé d’ajuster à maintes reprises le code que vous m’avez proposé pour utiliser le menu déroulant.

Il fonctionne parfaitement avec l’ancien fichier, mais je n’arrive pas à trouver la solution pour que cela fonctionne avec ce fichier. Peut-être parce que ce sont des cellules fusionnées

Les cellules contenant le menu déroulant : AY18 :AY56 La cellule Heure début : BB18:BB56 Heure Fin BF18:BF56 Les cellules à transférer dans la feuille Histo: B18:BJ18 les cellules à effacer le contenu au transfert: AU18 :BF18

Votre assistance et votre support habituel serait la bienvenue

Cordialement

Hello bigari,

Le fait de mettre des cellules fusionnées ruine totalement les macros. L'effacement des données ne fonctionnera donc pas. Il faudra effacer les données à la main.

Initialement le fichier ne fonctionnait pas chez moi, je l'ai donc légèrement corrigé. Maintenant après le transfert, les données à effacer à la main sont en rouge. Je sais c'est pas top, mais fallait pas utiliser de cellules fusionnées

Bonjour d3d9x

Merci pour l'information, je me doutais bien que les cellules fusionnées avaient une influence sur les macro

Mon idée de faire un fichier de la sorte était de me permettre de le structurer de façon symétrique et équilibré.

Je vais devoir le réorganiser pour permettre de l'utiliser comme le fichier précédent

Merci pour votre support

Salutations

bigari

Rechercher des sujets similaires à "transfert partir menu deroulant"