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

Résolu
iallex Messages postés 10 Date d'inscription vendredi 29 janvier 2010 Statut Membre Dernière intervention 31 mai 2010 - 18 mai 2010 à 10:52
iallex Messages postés 10 Date d'inscription vendredi 29 janvier 2010 Statut Membre Dernière intervention 31 mai 2010 - 30 mai 2010 à 08:30
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

cs_zeps2 Messages postés 61 Date d'inscription vendredi 9 novembre 2007 Statut Membre Dernière intervention 28 octobre 2011
21 mai 2010 à 18:10
S'cuse, je me suis échapper qq tps !!!
Tu y arrives ou tu veux un coup de main ?

zeps
3
iallex Messages postés 10 Date d'inscription vendredi 29 janvier 2010 Statut Membre Dernière intervention 31 mai 2010
19 mai 2010 à 09:59
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
0
cs_zeps2 Messages postés 61 Date d'inscription vendredi 9 novembre 2007 Statut Membre Dernière intervention 28 octobre 2011
19 mai 2010 à 18:29
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
0
iallex Messages postés 10 Date d'inscription vendredi 29 janvier 2010 Statut Membre Dernière intervention 31 mai 2010
19 mai 2010 à 19:34
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
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
iallex Messages postés 10 Date d'inscription vendredi 29 janvier 2010 Statut Membre Dernière intervention 31 mai 2010
23 mai 2010 à 10:15
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
0
cs_zeps2 Messages postés 61 Date d'inscription vendredi 9 novembre 2007 Statut Membre Dernière intervention 28 octobre 2011
23 mai 2010 à 13:29
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....
0
iallex Messages postés 10 Date d'inscription vendredi 29 janvier 2010 Statut Membre Dernière intervention 31 mai 2010
30 mai 2010 à 08:29
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
0
iallex Messages postés 10 Date d'inscription vendredi 29 janvier 2010 Statut Membre Dernière intervention 31 mai 2010
30 mai 2010 à 08:30
0
Rejoignez-nous