[Déplacé VB6 --> VBA] Excel Copier coller avec une macro sous condition [Résolu]

Signaler
Messages postés
10
Date d'inscription
vendredi 29 janvier 2010
Statut
Membre
Dernière intervention
31 mai 2010
-
Messages postés
10
Date d'inscription
vendredi 29 janvier 2010
Statut
Membre
Dernière intervention
31 mai 2010
-
Bonjour
Étant débutant et après pas mal de recherche, je me résilie et vous demande conseil.

J'aimerais créer une macro capable à partir d'un clic sur un bouton d'enregistrer certaines cellules dans une autre feuille. Cependant la copie des cellules devra se faire dans certaine ligne correspondant à une liste de choix de la feuille contenant les données a rentrer.

En clair, j'aimerais que les utilisateurs rentrent leurs données dans la feuille 1 (données en rouge)qu'il choisissent un numéro dans la liste déroulante puis qu'il clique sur le bouton sauvegarde. Alors les différentes données sont enregistrées dans la feuille 2 sur les lignes correspondant à leur choix de la liste déroulante.
Je vous joint le fichier pour vous faire une idée
Merci d'avance.

http://www.cijoint.fr/cjlink.php?file=cj201005/cijrIacvKW.xls

8 réponses

Messages postés
61
Date d'inscription
vendredi 9 novembre 2007
Statut
Membre
Dernière intervention
28 octobre 2011

S'cuse, je me suis échapper qq tps !!!
Tu y arrives ou tu veux un coup de main ?

zeps
Messages postés
10
Date d'inscription
vendredi 29 janvier 2010
Statut
Membre
Dernière intervention
31 mai 2010

Bonjour,

Après une bonne soirée à essayer de comprendre les if, les select case, les for ... Après avoir fais une procédure de if à rallonge menant à une procédure trop longue pour VB .

J'ai réussi à faire ce que je voulais surement avec un code d'amateur.
J'aimerais bien savoir s'il y avait des solutions plus faciles.
Cordialement.

http://www.cijoint.fr/cjlink.php?file=cj201005/cij5p65tJA.xls
Messages postés
61
Date d'inscription
vendredi 9 novembre 2007
Statut
Membre
Dernière intervention
28 octobre 2011

Salut,

Je pense que si tu passais par une jolie userform et non pas par le remplissage de cellules par les opérateurs, tu obtiendrais un résultat plus rapide dans l'exécution (quasi immédiat) et plus simple à gérer.

Et en ergonomie, peut-être plus simpa.

zeps
Messages postés
10
Date d'inscription
vendredi 29 janvier 2010
Statut
Membre
Dernière intervention
31 mai 2010

Salut,
Une jolie userform, je n econnais pas mais je vais me pencher dessus on va voir ce que je peux faire.
J'aurais aimer un petit exemple mais tandis je fonce.
Je remettrais ça tu me dira ce que tu en penses.
Merci,
Alex
Messages postés
10
Date d'inscription
vendredi 29 janvier 2010
Statut
Membre
Dernière intervention
31 mai 2010

Salut Zeps,
J'ai pas mal avancé enfin je pense.

Ne connaissant pas du tout VB et encore moins les userforms, j'ai un peu galéré,recherche ---> bricolage----> recherche ----> bidouille ...
mais je pense que je ne suis pas loin du but.

Il me manque encore quelques détails à régler comme:
Déprotéger les feuilles pour exécuter les macros puis les reprotéger.
Enpécher les opérateurs de mettre deux fois le même nom d'analyse via l'userform
ou encore avoir une combobox restreinte aux données existantes et non pas un rowsource(A2:A60000) qui fait apparaitre plein de lignes blanches dans ma combo.
J'ai pas encore vu tous les bugs que présente mon fichier ...

Je ne l'ai pas sous la main mais je le mettrai mardi, tu me donnera ton avis.
En tout cas l'idée de l'userform déchire grave ! le fichier n'a plus rien a voir.
Merci
ALex
Messages postés
61
Date d'inscription
vendredi 9 novembre 2007
Statut
Membre
Dernière intervention
28 octobre 2011

Alex,

Et ben, impec !

Pour la protection tu fait ça dans le cas ou ton fichier est actif :
Pour moi, MdP = mot de passe

Sub MdP()

For k = 1 To 10 'pour les feuilles de 1 à 10 par exemple du classeur

Sheets(k).Select
ActiveSheet.Protect Password:=("XXXX"), DrawingObjects:=True, Contents:=True, Scenarios:=True
Next
ActiveWindow.Close SaveChanges:=True
End Sub
------------------------------------------------
Sub Sans_MdP()

For k = 1 To 10

Sheets(k).Select

ActiveSheet.Unprotect Password:="XXXXX"

Next

ActiveWindow.Close SaveChanges:=True

End Sub

De mon côté, j'ai notamment un grand nb de classeur xls à protéger ou déprotéger.
Si c'est ton cas, je peux te dire comment faire ( en tout cas, comment je faits moi !)

dans ta rowsource, tu peux lister ton choix, plutôt que de faire appel à un listing. mais tu peux également limiter ta source ( Liste!C2:C70 par exemple : Liste! = feuille!)
Pour le reste, je ne comprends pas trop.

A plus tard....
Messages postés
10
Date d'inscription
vendredi 29 janvier 2010
Statut
Membre
Dernière intervention
31 mai 2010

Salut Zep
il me reste un petit souci que j'ai posté ici. Si tu veux me donner ton avis :p
Merci a bientôt
Messages postés
10
Date d'inscription
vendredi 29 janvier 2010
Statut
Membre
Dernière intervention
31 mai 2010