Transférer des valeurs de textbox vers des cellules

mamarus

XLDnaute Junior
Bonjour le Forum,

Je suis parti d'un code en VBA récupéré , pour tenter de mettre en place un projet, je rencontre aujourd'hui un problème à savoir la prise en compte de données d'un graphique ( janvier à Décembre ) pour alimenter celui ci.
Cela passe par le transfert de valeur des Textbox sur des cellules d'une feuille Excel ( Graph ). le code pour cela est je suppose :
'Worksheets.("Feuil5").Range("B2").Value = userform2.(TextBox11).Value

Mais ou le placer ? , j'ai tentai de mettre cette ligne dans le code de mon userform2, la partie qui permet d'appeler ou de modifier les données, mais apparemment cela bloque avec un "with", ou dans le code de la feuille "Graph", avant la procédure du lancement de l'affichage du graphique, mais rien n'y fait, la cellule B2 ne prend pas la valeur de la textbox11 par exemple.

Ah j'oubliai, mais vous avez du vous en rendre compte, je débute en VBA, pour l'instant, c'est beaucoup d'interrogations je l'avoue.

Si quelqu'un pouvait m'aider à solutionner ce problème, je l'en remercie par avance.
je joins une copie du fichier en exemple.

Mamarus
 

Pièces jointes

  • Gestion Des Fluides111.xlsm
    260.9 KB · Affichages: 64
Solution
Bonjour

C'est l'évènementielle de ta feuille graph qui plante, j'avais oublié une désactivation d'évènements lors de la mise à jour de la feuille graph à la création d'un compteur.
voila le fichier corrigé, cela devrait fonctionner

Cordialement, @+

mamarus

XLDnaute Junior
Bonjour Yeahou et le forum,

Merci de t'être intéresse à mon sujet, j'ai essaye plusieurs syntaxe, mais rien n'y fait, une personne m'a expliqué que le probleme venait du with, qui se trouve dans l'userform2, il m'a conseillé de l'enlever et de mettre un objet avec le contenant du with, on pourra mettre notre syntaxe qui la , devrait marcher. Il m'a expliqué que l'useform2 faisait appel dans le with à la feuil7, et que nous, nous faisons appel à la feuille 5 où nous avons les textbox avec leurs valeurs et l'a feuil 2 ou on a les cellules de donnees qui doivent alimenter le graphique.
La personne qui m'a expliqué cela est très compétent mais n'avait pas le temps de mettre le nez dedans .

Vu que je débute dedans cela est compliqué , j'avance progressivement.

Bien cordialement,

Mamarus
 

Bernard_XLD

XLDnaute Barbatruc
Membre du Staff
parti trop vite, je continue
Re
en essayant de comprendre le fonctionnement de ton prog, je dirai qu'à aucun moment tu ne mets à jour ta feuille graph.
par contre ta feuille données doit logiquement se mettre à jour.
l'alimentation du graph est une fonction que tu veux ajouter ? elle n'a jamais fonctionné ?
 

mamarus

XLDnaute Junior
Je ne sais pas si c'est une fonction qu'il faut, le but est comme je l'ai expliqué dans le titre, c'est de transferer les valeurs des 12 textbox de janvier à décembre sur les cellules b2:b13 de l'onglet graphe, cela met le graph à jour et par le biais du bouton graph que j'ai créé, cela le renvoie sur l'userform2. Il n'y a pas de donnees à stocker dans un fichier , c'est juste un transfert de donnees pour le n° de compteur demande.
J'ai rentre manuellement des nombre sur chaque cellule et le graph réagit bien.

Bien cordialement,

Mamarus
 

Bernard_XLD

XLDnaute Barbatruc
Membre du Staff
Bonsoir

voila le code de ton bouton modifié, valider met aussi à jour la feuille graph

Cordialement, @+

Code:
Private Sub CommandButton1_Click()
    Dim i&, fin&
    If modif Then
        Application.EnableEvents = False
        With Feuil5
            For i = 11 To 22
                .Range("B" & i - 9).Value = Me.Controls("TextBox" & i).Value
            Next i
        End With
        Application.EnableEvents = True
        With Feuil7
            For i = 1 To 22
                .Cells(lign, i) = Controls("Textbox" & i): Controls("Textbox" & i) = ""
            Next i
        End With
        Unload Me: GoTo 1
    End If
    If TextBox1 <> "" And TextBox2 <> "" And TextBox3 <> "" Then
        With Feuil5
            For i = 11 To 22
                .Range("B" & i - 9).Value = Me.Controls("TextBox" & i).Value
            Next i
        End With
        Application.EnableEvents = True
        With Feuil7
            fin = .Range("A" & Rows.Count).End(xlUp).Row + 1
            For i = 1 To 22
                .Cells(fin, i) = Controls("Textbox" & i): Controls("Textbox" & i) = ""
            Next i
        End With
    Else
        MsgBox "Vous devez au minimum renseigner, Le fluide, Le site, N° de compteur", , "Manque de données": Exit Sub
1   End If
    Call Classer: 'Classer est une procedure
    Unload Me

    If modif Then
        rech = UserForm1.TextBox1:  Unload UserForm1: UserForm1.TextBox1 = rech: UserForm1.Show:
    End If
    modif = 0
End Sub
 

mamarus

XLDnaute Junior
Re bonjour Yeahou,
J'ai eu le temps de voir le code, je te remercie encore, il transfert bien les textbox dans les cellules, mais il y a un petit souci,
il a "un métro de retard ", je m'explique : le transfert se fait bien et la procédure d'affichage du graphique aussi, sauf, et c'est là le hic, c'est le bouton "Valider" qui met à jour au final les donnés du graphique.
Le problème lorsque je suis dans l'affichage du userform2 , en mode utilisateur si j'appuie sur le bouton graphique, celui ci ne se met pas à jour, il envoie les anciennes données, puisque seul le bouton Valider les transfère et les met à jour.
j'ai essayé d'inserer dans l'userform du graph le code qui sert à valider, de manière à le forcer à Valider avant d'envoyer le Graph, mais rien n'y fait.

Si tu as une idée, je suis preneur

Bien Cordialement;

Mamarus
 

Bernard_XLD

XLDnaute Barbatruc
Membre du Staff
voila, j'ai simplement intégré la mise à jour de la feuille graph lors du lancement graphique dans le formulaire.
je l'ai laissé aussi dans valider mais ce n'est pas nécessaire sauf si tu désires garder le dernier graph affiché
 

Pièces jointes

  • Copie de Gestion Des Fluides111.xlsm
    258.8 KB · Affichages: 48

mamarus

XLDnaute Junior
Bonjour Yeahou,

En testant le code, je rencontre un problème, quand je veux créer un nouveau compteur avec le Bouton "Ajouter", il Bug en arrivant sur la partie du graphique avec une erreur 424 , "Objet Requis", je ne vois pas comment le résoudre.
Si tu peux y jeter un œil, je t'en remercie par avance;

Bien Cordialement,

Mamarus
 

Bernard_XLD

XLDnaute Barbatruc
Membre du Staff
Bonjour

C'est l'évènementielle de ta feuille graph qui plante, j'avais oublié une désactivation d'évènements lors de la mise à jour de la feuille graph à la création d'un compteur.
voila le fichier corrigé, cela devrait fonctionner

Cordialement, @+
 

Pièces jointes

  • Copie de Gestion Des Fluides111.xlsm
    259.9 KB · Affichages: 42

Discussions similaires

Réponses
2
Affichages
197

Statistiques des forums

Discussions
314 628
Messages
2 111 343
Membres
111 109
dernier inscrit
djameldel