Transfert de données

Bonjour,

j'ai besoin d'un coup de main pour automatiser le transfert de données entre 2 classeurs.

Je m'explique:

J'ai créé 4 classeurs (sur un réseau) pour 4 agences (Alpha, Beta, Charlie, Delta) qui contiennent le même style de données avec la même architecture:

_ 4 feuilles type de machines (A, B, C, D) dans lequels vous retrouvez un tableau regroupant une liste de machine (colonne 1: Les machines sont répertorié par numéro de parc et les numéros sont propres à chaque machine) et différentes infos pour chaque machine/ligne (mines, entretiens, contrôle...). Les feuilles sont verrouillées par mot de passe et j'ai créé des userform qui permettent de déverrouiller la feuille, proposer des cases de choix et à remplir qui remplissent automatiquement les cases correspondantes dans la ligne de la machine sélectionnée (menu déroulant), remplir les cases et reverrouiller la feuille.

_ 1 feuille par machine non verrouillé (fiche d'entretien) dans laquelle se trouve des informations sur la machine accessible uniquement par lien hypertexte (en cliquant sur le numéro de parc de la machine que l'on veux modifier) depuis les feuilles type.

le personnel peut accéder aux classeurs sur le réseau et ajouter des infos sur les machines.

Actuellement quand il y a transfert de machine d'une agence à l'autre, je dois copier manuellement la ligne machine de la feuille type (A, B, C, D) de l'agence source et je la colle dans la même feuille type de l'agence de destination à la suite des autres lignes puis je copie la feuille machine (complet) de l'agence source dans une nouvelle feuille de l'agence de destination. Puis j'efface la feuille machine et la ligne de la feuille type du classeur source.

Je voudrais automatiser tout ca à l'aide d'un nouveau classeur (et userform) dans lequel:

_ je sélectionne l'agence source (classeur source) par menu déroulant

_ je sélectionne l'agence destinataire (classeur destinataire) par menu déroulant

_ je sélectionne le type de machine (issue du classeur source) par menu déroulant

_ je sélectionne le numéro de parc (machine) issue de la feuille type du classeur source précédemment sélectionné par menu déroulant

_ un bouton pour valider le transfert

La mise en forme du userform ne pose pas de problème,

2017 09 03

c'est l'extraction des données pour remplir les menu déroulant et le copier coller qui me pose problème. je vois pas comment faire.

J'espère être assez clair pour que vous puissiez m'aider.

Bonjour

Exemple

A) pour créer une liste déroulante dans une cellule Excel avec des valeurs de ton choix:

==> Données/Validation des Données/Options/Autoriser liste et tu sélectionnes la plage correspondant à ta liste.

B) et/ou alors tu crées une ListBox via VBA (insertion/userform).

du genre :

Private Sub ListBox1_Initialize()
Dim TaListe As Variant
TaListe= Range("ta plage").Value
ListBox1.List() = TaListe
End Sub

---

l'USF1

  • bouton de commande 1 à voir ici sur CommandButton1 et par clic
  • ta listbox1 dans la propriété par 2 choix de sélection==> UserForm1.ListBox1.MultiSelect = 2
  • i pour un compteur
  • range à partir de la celulle A2 par incrémentation dans ta feuille NOMDETAFEUILLEEXCEL
Private Sub CommandButton1_Click() 
Dim element_select As Boolean
Dim nb_element, i As Integer
Dim DEST As Range

element_select = False
nb_element = Chercher.ListBox1.ListCount
With Worksheets("NOMDETAFEUILLEEXCEL")
    For i = 0 To nb_element - 1
        If Chercher.ListBox1.Selected(i) = True Then
            MsgBox "Sélection OK
            element_select = True
            Set DEST = IIf(.Range("A2").Value = "", .Range("A2"), .Cells(Application.Rows.Count, 1).End(xlUp).Offset(1, 0))
            DEST.Value = ListBox1.List(i, 0)
            DEST.Offset(0, 3) = ListBox1.List(i, 2)
            DEST.Offset(0, 4) = ListBox1.List(i, 3)
            DEST.Offset(0, 5) = ListBox1.List(i, 4)
        End If
    Next
    If element_select = False Then
        MsgBox "vous n'avez rien selectionné"
    End If
End With
End Sub

Sans oublier le côté initialisation de ton USF1

cela doit ressemblé à peu près à cela

EDIT des exemples

https://forum.excel-pratique.com/excel/remplir-une-listbox-a-partir-d-une-autre-feuille-t69108.html

crdlt,

André

merci pour ton aide, je vais essayer

Rechercher des sujets similaires à "transfert donnees"