Macro de débutant

P

Phil

Guest
Reboujour les pros

Après mon prob de dates qui est résolu, voilà un new prob:

J'ai créer une macro de débutant comme j'en suis un, qui copie des valeurs d'une feuille à une autre et je suppr le contenu de certaines cellules pour laisser une feuille avec des cellules vierges. J'ai également des zones de liste modifiable que je voudrais également remettre à la première cellule de la liste.
Ma macro fonctionne, mais ne me remet pas mes zones de liste sur ma première cellule de ma liste. Je me pose les questions pourquoi et et-il possible de le faire?

Merci à l'avance

Bon courage et @+

Phil
 
@

@+Thierry

Guest
Bonjour Phil, et le Forum

Ce n'est pas une question de débutant, c'est déjà d'un niveau plus élevé.

A première vu il y a deux approches de solutions à cette question, pour autant que je l'ai interprétée correctement : "Ma macro fonctionne, mais ne me remet pas mes zones de liste sur ma première cellule de ma liste" que je comprends :
Ma Macro fonctionne, mais ne réinitialise pas la valeur des cellules contenants des Listes Modifiables (du Menu => Donnée Validation) au première enregistrement de cette liste.

Pour te répondre au Pourquoi :
Ben même sans macro, si tu fais ceci manuellement tu n'auras pas de valeur dans la cellule, il faudra sélectionner la première valeur de la liste manuellement.
D'ailleurs même si tu créées une telle liste sur une feuille vierge, la cellule en question ne se remplira pas pour autant, il faudra faire une sélection.

Pour te répondre au Comment :
Ben les deux approches sont en fonction de tes aptitudes en VBA, donc la première sera la plus facile à comprendre et à mettre en oeuvre :

Exemple en Feuil1 la cellule A1 contient une liste de validation dont la source est la Feuil2 dans les cellules A1 à A10 dans une plage nommée "Maplage" avec des valeurs Toto1, Toto2, Toto3, Toto4, Toto5...etc (Si tu fais ta liste directement dans "Données Validation", je te conseille de faire des recherche dans ce forum, car la soluce 1 ne marchera pas)

Soluce 1
Tu nettoies A1 à D50 (par exemple) le code donne ceci :
Sheets("Feuil1").Range("A1:D50").ClearContents

Et tu fais écrire par VBA la valeur de la première cellule Source de ta liste en A1 comme ceci :
Sheets("Feuil1").Range("A1").Value = Sheets("Feuil2").Range("A1").Value

Soluce 2
je pense qu'on peut arriver à faire comprendre à VBA qu'il fasse le checking de toutes les cellules vidées pour savoir si elles ont une "Liste de Validation", et ensuite de donner à la cellule la valeur du premier item... mais je n'ai pas le code sous la main, et je dois quitter le bureau.

Enfin la soluce 1 devrait déjà te faire avance un petit peu j'espère

Bonne Soirée
@+Thierry
 
P

Phil

Guest
Salut le forum,

merci thierry de t'être penché sur mon prob de menu déroulant et de macro.
Je te communique le VBA de ma macro, car j'ai essayé de faire ce que tu m'as écrit, mais je ne suis pas assez fort pour que ça marche, J'ai essayé pas mal de choses, mais sans résultats.

Alors tu est peut être mon sauveur.



'
Sheets("Base").Select
Rows("21:21").Select
Selection.Copy
Sheets("Archives").Select
Rows("5:5").Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
Rows("5:5").Select
Application.CutCopyMode = False
Selection.Insert Shift:=xlDown
Sheets("Saisie").Select
Range("C7:C19").Select
Selection.ClearContents
Range("F7:F11").Select
Selection.ClearContents
Range("I7:I9").Select
Selection.ClearContents
Range("B4").Select
ActiveWorkbook.Save
End Sub

C'est peut être simple à lire pour toi, mais moi j'ai du mal.

J'ai trois feuilles: La 1ere " Saisie", c'est sur cette feuille que je choisi toutes les informations dans mes menus déroulant et j'encode à chaque fois à coté de mon menu des heures. C'est également sur cette feuille que j'ai créé un bouton qui me valide ma macro

Sur ma 2ème feuille "Base" c'est toutes mes mistes de mes menus.

Sur ma 3ème "Archives", c'est sur cette feuille que ce copie grace à ma macro tous mes informations choisi et heures encodées.

Pour en finir c'est sur la feuille "saisie" que je dois effacer mes heures encodées et remettre mes menus sur ma première ligne de ma plage.


Bonne journée à tous et bon courage!!!

@+

Phil
 
@

@+Thierry

Guest
Bonsoir,

je vais me coucher là, mais ce serait plus efficace pour toi si tu arrives à poster un fichier exemples avec des commentaire sur ce que tu veux obtenir...

on pourra te sauver je pense ! :)

Bonne nuit
@+Thierry
 
P

Phil

Guest
Salut à tous,

il fait moyen comme temps aujourd'hui..

Je vous communique mon fichier avec lequel j'ai des prob.

Après l'éxécution de la macro Validez, mes menus déroulants de la feuille saisie ne reviennent à la première cellule de ma liste.

Enfin, j'espère que vous pourrez mez sortir de ce m.........

Je vous en remercie à l'avance

Bonne journée!!

@+
Phil
 

Pièces jointes

  • Suivi-Heures.zip
    18 KB · Affichages: 23

Discussions similaires

Statistiques des forums

Discussions
312 193
Messages
2 086 062
Membres
103 110
dernier inscrit
Privé