Comment creer un userform ?

cco86260 - 20 févr. 2013 à 22:15
jordane45 Messages postés 38144 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 avril 2024 - 20 févr. 2013 à 23:23
Bonjour à tous,

Tout d'abord, je m'excuse de procéder comme ça, je devrais normalement poser une question par forum, mais les miennes concernent le même projet ( et j'en ai des question ... javascript:void(0); ) Mais je vais être le plus clair possible, avec une belle mise en forme pour que vous puissiez bien distinguer le tout...

Voilà, pour faciliter la vie de plusieurs personnes dans la société ou je travaille, je suis en train de rendre plus confortable l'utilisation de feuille de pointages hebdomadaire excel, dont je ne pourrais malheureusement pas vous partager, ils sont protéger. Voici le concept : (tout ce passe dans un même classeur)

une matrice de la feuille de pointage est cachée.Celle-ci sert à la duplication. Quand on clique sur le fichier "pointage", je voudrais que quand il se lance, il m'ouvre une feuille de pointage nommée "vierge" a partir de la matrice cachée.

[b]Qu'elle est donc le code nécessaire pour réussir à obtenir ce résultat ?
/b
Ensuite, je voudrais créer un userform possédant 2 CommandButton :

1 qui nomme la feuille en cours et en créer une nouvelle à partir de la matrice cachée. Ce bouton s'appellera "Pointage suivant"

Mais là je possède déja 2 code pour cela... les voici :

Celui-ci nomme la feuille en cours en fonction de la cellule "nom"

Sub NomFeuille()
With ActiveSheet 'agit sur la feuille active, à adapter
    On Error Resume Next
    .Name = .Range("O9") 'le nom de la feuille prend le nom inscrit cellule O9
    If Err.Number <> 0 Then 'Test d'erreur, par exemple onglet existant déjà, ou caractère invalide
        MsgBox ("Veuillez entrez un nom") ' messsage d'information en cas d'erreur
        Exit Sub 'sortie de la macro en cas d'erreur
    End If
End With
End Sub


Et celui-ci crée une autre feuille "vierge" a partir de la matrice :

Sub NouvelleFeuille
Sheets("MATRICE").Copy After:=Sheets(Sheets.Count)
End Sub


Et ensuite un second CommandButton qui lui se chargera :

D'enregistrer le classeur dans un dossier nommé en fonction de 2 cellules de la feuille en cours:

Ex:(SITES(A1)SECTION(A2)

Les fichier PDF ainsi crée sont nommés en fonction de 2 cellules également.
Et une fois les PDF créé, il les envois par Mail à une adresse unique mais propose à qui le mettre en copie, cette phase doit être obligatoire.

Je possède le code pour l'envoi par mail avec le client par défaut de la machine :

Sub EnvoiMail()
  Workbooks("UnClasseur").SendMail Recipients:="tartem.pion@mimi.com", _
                          Subject:="Test envoi classeur", _
                          ReturnReceipt:=True
End Sub


Parcontre, et la je ne sais pas si cela est possible, une confirmation comme quoi le mail est bien parti avec le PDF en question...

J'espère avoir été assez explicite dans mon sujet et remercie toutes les personnes qui prendrons le temps de me lire et m'aider dans mais démarches.

Une utilisatrice de ce forum m'as reconduit à cet endroit et m'à déjà guidé... voici le liens :

http://www.vbfrance.com/forum/sujet-CREATION-MACRO-EXCEL-CONVERTIR-PDF-DEMANDER-ENVOIE-MAIL_1627494.aspx

6 réponses

Je m'excuse, mauvaise manip de ma part, je fini donc mon message par :

Je vous dis un grand merci pour votre aide, je ne maitrise pas vraiment le VBA mais je ne demande qu'une chose... l'apprendre par la pratique...

Une bonne soirée à vous tous....

Cordialement,
Christian
0
jordane45 Messages postés 38144 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 avril 2024 344
20 févr. 2013 à 22:53
heu... utilisateur..pas "trice"



Cordialement,
Jordane
_____________________________________________________
Règles du forum à lire avant de poster une question : ICI
0
Oups.... ba jcommence bien moi... désolé...
0
jordane45 Messages postés 38144 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 avril 2024 344
20 févr. 2013 à 23:12
Bon, en tout cas cette fois tu es dans la bonne section du forum

Par contre, je vais être tatillons, mais le fait de ne poser qu'une question par sujet a plusieurs buts :
1 - ca evite d'avoir des pavés de 200 lignes à lire..
2 - si quelqu'un d'autre souhaite trouver des informations sur un sujet préscis il aura plus de chance de tomber dessus lors de ces recherches que si l'information est noyée au milieu de milliard d'autres informations
3 - Une question peut être traitée (et résolu) alors que d'autres de ton sujet ..non... ce qui risque de laisser ce sujet "ouvert" pendant longtemps et ne pas succiter l'interet des autres membres du forum.

Pour ce qui est de la question contenue dans le titre :
voila un lien que tu vas devoir étudier et qui te permettra par la suite de créer tes userforms
/VBA/UserForm/


pour la création de la feuille vierge :
une matrice de la feuille de pointage est cachée.Celle-ci sert à la duplication. Quand on clique sur le fichier "pointage", je voudrais que quand il se lance, il m'ouvre une feuille de pointage nommée "vierge" a partir de la matrice cachée.

Qu'elle est donc le code nécessaire pour réussir à obtenir ce résultat ?

Tu as déjà les codes nécéssaires (entre ce que tu as déjà récupéré et ce que je t'ai donné tu devrais pouvoir y parvenir).


Parcontre, et la je ne sais pas si cela est possible, une confirmation comme quoi le mail est bien parti

Regardes la documentation du MSDN: ( parametre : ReturnReceipt )
Workbook.SendMail, méthode


Pour le reste, encore une fois, je t'invite à :
Essayer de coder par toi même...puis seulement là.. venir poser de nouvelles questions sur des points de blocage bien spécifiques ( Un sujet = 1 question précise )
Et surtout, avec dans le message, le code que tu as écrits et qui te poserais problème.

En l'état,.. ta (tes) demande(s) ressemble(ent) plus à la création entière d'un script et non la résolution de soucis "isolés"


Donc..il faut te lancer


Cordialement,
Jordane
_____________________________________________________
Règles du forum à lire avant de poster une question : ICI
0

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

Posez votre question
Oui effectivement, vue comme ça... Je vais regarder les liens que tu m'as laissé... je te remercie pour tes réponses et commencerais des demain à bucher sur mon projet...

Une bonne soirée à toi... et désolé pour le "trice"...
0
jordane45 Messages postés 38144 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 avril 2024 344
20 févr. 2013 à 23:23
Bon courage à toi.

et surtout, n'hésites pas à utiliser l'enregistreur de macros. tu verras pour débuter c'est une bonne base.
Penses aussi à regarder dans l'aide (F1) , c'est une très bonne source d'informations.

Et il existe de supers tutos sur le net, tel que celui pour la création des userforms (de ce même auteur et d'autres).
Même encore aujourd'hui..bien que manipule déjà très bien ce langage..je ne me lasse pas de les consulter.


Bonne nuit.

Cordialement,
Jordane
_____________________________________________________
Règles du forum à lire avant de poster une question : ICI
0
Rejoignez-nous