XL 2010 Enregistrement sur deux feuilles differentes

M.D

XLDnaute Occasionnel
Bonsoir à tous,
Une nouvelle fois je dois faire appel à un expert pour avoir un avis pratique à savoir :
J’ai une base de données (BD-eleve) alimenté par un userform .
J’aimerai enregistrer certaines données en même temps que dans ma base de données principale sur une autre feuille nommée par exemple « 2 ». Sur la feuille "2" il me faut que certaines données.Les données peuvent être le tag 1, puis le tag 10 etc..""
Est possible l’enregistrement sur deux feuilles différentes ?
Si oui quelle peut-être la procédure à inclure à celle que j’utilise pour l’enregistrement dans ma base de données principale?

Ma procédure est la suivante :

Private Sub CommandButton_Valider_Click() 'bouton "Valider / Modifier la fiche"
Dim r As Range 'déclare la variable r (Recherche)
Dim ctrl As Control 'déclare la variable ctrl (ConTRôLe)
ligne = Sheets("BD_eleve").[A65000].End(xlUp).Row + 1
'--- Transfert Formulaire dans B
li = CLng(ll.Caption) + 1 'définit la ligne li
If TextBox_code.Value = "" Then 'condition 1 : si la textbox "TextBox_code" n'est pas renseignée
MsgBox "Merci d'indiquer le code élève." 'message
Me.TextBox_code.SetFocus 'place le curseur dans la textbox
Exit Sub 'sort de la procédure
Else 'sinon (condition 1)
'définit la recherche r (recherche la valeur de la textbox dans la colonne B de l'onglet "BD_ELEVE")
Set r = Sheets("BD_ELEVE").Columns(2).Find(Me.TextBox_code.Value, , xlValues, xlWhole)
If Not r Is Nothing Then 'condition 2 : si il existe au moins une occurrence trouvée
'condition 3 : si "Oui au message
If MsgBox("Code déjà utilisé ! Si vous êtes sur une Nouvelle Fiche, veuiller le modifier." & Chr(13) _
& "Si vous modifiez une fiche existante, ce n'est pas nécessaire." & Chr(13) & Chr(13) _
& "Voulez-vous le modifier ?", vbYesNo, _
"CODE ÉLÈVE") = vbYes Then
Me.TextBox_code.SetFocus 'place le curseur dans la textbox
'sélectionne le texte de la textbox
Me.TextBox_code.SelStart = 0 'début de la sélection
Me.TextBox_code.SelLength = Len(Me.TextBox_code) 'longueur de la sélection
Exit Sub 'sort de la procédure
End If 'fin de la condition 3
End If 'fin de la condition 2
End If 'fin de la condition 1
For Each ctrl In Me.Controls 'boucle sur tous les contrôles de l'UserForm
On Error Resume Next 'gestion des erreurs (en cas d'erreur passe à la ligne suivante)
'si la propriété "Tag" du contrôle n'est pas vide, récupère la valeur du contrôle dans la cellule (ligne : li,
'colonne : Tag du contrôle (converti en Byte)) de longlet "BD_ELEVE" (peut générer un erreur selon le type de contrôle)
If ctrl.Tag <> "" Then Sheets("BD_ELEVE").Cells(li, CByte(ctrl.Tag)).Value = ctrl.Value
If Err <> 0 Then Err = 0 'si une erreur a été générée, annule l'erreur
On Error GoTo 0 'annule la gestion des erreurs
Next ctrl 'prochain contrôle de la boucle
Call Rens_Ctrl 'lance la procédure de renseignement des contrôles
MsgBox "Les données ont été correctement envoyées dans la base !" 'message de fin
MultiPage1.Value = 0
End Sub

Merci de votre aide

M.D
 

bof

XLDnaute Occasionnel
Bonjour,
Sur le fond : Il n'y a aucun inconvénient pour dipatcher le contenu d'un formulaire vers différentes feuilles.
Il suffit de définir avec précision à quel endroit va telle ou telle information...
Code:
Worksheets("BD_Eleves").Range("A" & x) = TextBox1
Workheetts("BD_Classe").Range("A" & y) = TextBox1
Après sur le cas d'espèce, je trouve un peu curieux que tu fasses intervenir un tag pour cela, mébon après tout... pourquoi pas ! Il faut voir au cas par cas, comment tu appliques ta théorie...
A+
 

M.D

XLDnaute Occasionnel
Bonjour,

Merci pour ces informations.

Dès que possible j’essaie cette procédure et je ferais part du résultat.

Cordialement
M.D
 

Discussions similaires


Haut Bas