XL 2019 VBA création d'interface

Yazeubi

XLDnaute Junior
Bonjour à tous, j'espère que tout le monde va bien.

J'ai besoin de vous, pour effectuer une macro.
Je souhaite créer une interface qui fera apparaître différente données, et qui remplira automatiquement mon tableau Excel avec les données récupéré.

Dès lors qu'on appui sur un bouton;
Texte qui apparaît: "Combien de pièces souhaitez vous contrôler ?"
*Case à cocher -1-
*Case à cocher -2-
*Case à cocher -3-
*Case à cocher -4-
*Case à cocher -5-

Le choix de la case correspond au nombre de contrôle a effectuer et donc au nombre de colonne a crée dans mon tableau Excel.
Si l'on choisi la case à cocher 4 sur l'interface alors une macro sélectionne automatiquement les 4 dernières colonnes soit dans l'exemple ici présent(dans l'Excel ci-dessous) les colonnes "K","L","M","N". On les copies sur les 4 colonnes d'à côté soit "O","P","Q","R" et on vide le contenue que le contrôleurs remplira lui même. On laisse la mise en forme on va juste vider les données.

Dans l'interface d'autre demande apparaissent tels que:

-Date du jour(Date de contrôle): Ecrite automatiquement ou manuellement si ce n'est pas possible
-Date de livraison: "Date à écrire"
-Nom du contrôleur : "Texte à écrire"
-Nom du fournisseur : "Texte à écrire"
-Désignation RQPP: "Texte à écrire"
-Quantité livré: "Texte à écrire"
-Quantité contrôlé: "Texte à écrire"

Lorsque j'écris "Texte à écrire" cela signifie que l'opérateur doit le remplir manuellement.


Merci d'avance,

Cordialement, Yazeubi
 

Pièces jointes

  • Mission optimisation Excel.xlsm
    49.3 KB · Affichages: 8
Dernière édition:
Solution
Bonjour Yazeubi,
Un essai en PJ avec :
VB:
Public Nombre% ' Nombre de colonnes à dupliquer ( valeur fournie par userform )
Sub Dupliquer()
    Application.ScreenUpdating = False
    Combien.Show                                            ' Affichage userform
    If Nombre = 0 Then Exit Sub                             ' Si pas de duplication demandée, on sort.
    ColRef = 10                                             ' Colonne de référence de départ pour la copie, colonne J
    DL = [G65500].End(xlUp).Row                             ' Dernière ligne utilisée
    PC = 1 + Cells(2, Columns.Count).End(xlToLeft).Column   ' Première colonne non utilisée
    Range(Cells(1, ColRef), Cells(DL, ColRef + Nombre - 1)).Select
    Selection.Copy...

sylvanu

XLDnaute Barbatruc
Supporter XLD
Bonjour Yazeubi,
Un essai en PJ avec :
VB:
Public Nombre% ' Nombre de colonnes à dupliquer ( valeur fournie par userform )
Sub Dupliquer()
    Application.ScreenUpdating = False
    Combien.Show                                            ' Affichage userform
    If Nombre = 0 Then Exit Sub                             ' Si pas de duplication demandée, on sort.
    ColRef = 10                                             ' Colonne de référence de départ pour la copie, colonne J
    DL = [G65500].End(xlUp).Row                             ' Dernière ligne utilisée
    PC = 1 + Cells(2, Columns.Count).End(xlToLeft).Column   ' Première colonne non utilisée
    Range(Cells(1, ColRef), Cells(DL, ColRef + Nombre - 1)).Select
    Selection.Copy: Cells(1, PC).Select: ActiveSheet.Paste  ' Copie colle nombre colonnes désirées
    Range(Cells(1, PC), Cells(DL, PC + Nombre - 1)).ClearContents   ' Effacement des données
    Range(Cells(1, PC), Cells(10, PC + Nombre - 1)).BorderAround , Weight:=xlMedium ' Entourage gras
    For i = 1 To Nombre                                     ' Insertion des dates et Numérotation
        Cells(2, PC + i - 1) = Date: Cells(9, PC + i - 1) = i
    Next i
    Cells(1, PC).Select                                     ' Sortie
End Sub
Plus le userform qui demande le nombre de colonnes à dupliquer.
Le lancement macro s'effectue sur appui sur le bouton Duplication.
 

Pièces jointes

  • Mission optimisation Excel (1).xlsm
    53.7 KB · Affichages: 3

Discussions similaires

Réponses
3
Affichages
466
Réponses
8
Affichages
777

Statistiques des forums

Discussions
312 113
Messages
2 085 426
Membres
102 888
dernier inscrit
medoit