Valeur d'un TextBox dans une cellule ?

Bonjour à vous tous puits de sciences,

J'ai de nouveau besoin de votre aide pour compléter ma base de donnée.

J'utilise deux UserForm, le 1er pour encoder les données dans mon tableau, le second, pour afficher séparément chaque données

de ce même tableau.

Ce tableau comporte 120 lignes et 18 colonnes : A : R

Cette dernière colonne R (N°18) contient une note sur le contact du tableau

Lorsque je modifie cette note, avec le 2ème UF, je souhaite que les modifications soient reportées dans la bonne cellule.

[code] no_ligne = Range("R65536").End(xlUp).Row + 1 'au début de la macro

Cells(no_ligne, 18) = TextBox_Notes.Value (Colonne R dans le tableau)

Ces lignes de code fonctionnent avec le 1er UF mais avec le 2ème après modification de la note, avec la même ligne de commande,j'ai un msg : variable non déclarée.

J'ai parcouru toue la soirée d'hier le cours sur les variables, j'ai testé des exemples, mais cela ne marche pas.

Mon programme est trop gros pour être attaché ici.

Merci à tous de bien vouloir m'aider, sans fichier ce n'est pas facile, une piste pourrait déjà me satisfaire.

Bonne journée à tous excusez la longueur de ce msg.

Papy Pierrot

Bonjour,

et bien il faut déclarer cette variable inconnue au début de ton module avec un Dim et de préférence la typer.

Ex : Dim ma_var as Double

eric

Cher Éric,

Le code accepte la variable mais ne reconnaît pas ma textBox avec son texte modifier

Merci de vouloir m'aider.

Pierrot

Pas de fichier,

on ne sait pas quelle est la ligne en erreur,

on ne sait pas ce qui est surligné lors de l'erreur.

On n'est pas devin...

eric

Salut, Éric

J'ai testé de nouveau, mais j'ai toujours la même réponse :

Voilà le code

Private Sub CommandButton_Ajouter_Modif_Click()

Dim ma_var As Double

no_ligne = Range("R65536").End(xlUp).Row + 1

Cells(no_ligne, 18) = TextBox_Notes.Value ' cette ligne provoque l'erreur Objet requis, erreur 424

End Sub

Je ne sais pas comment déclarer le contenu de ma TextBox.

Merci de m'aider

A Bientôt, j'espère

Papy Pierrot

heu non, ma_var était un exemple, il fallait mettre le nom de ta variable non déclarée.

Mais là tu n'as pas de variable non déclarée puisque le message est 'objet requis'. Enlève la ligne dim...

Dernière tentative, ensuite plus de réponse s'il n'y a pas un fichier réduit au nécessaire avec l'erreur.

La colonne R est vide et donc no_ligne=0

eric

Bonjour

Une supposition d'après ce que j'ai compris

CommandButton_Ajouter_Modif est un bouton de l'userform2

TextBox_Notes est une TextBox de l'userform1

Si c'est ça il faut référencer correctement TextBox_Notes

Private Sub CommandButton_Ajouter_Modif_Click()
Dim no_ligne As Long
no_ligne = Range("R65536").End(xlUp).Row + 1
Cells(no_ligne, 18) = Userform1.TextBox_Notes.Value ' cette ligne provoque l'erreur Objet requis, erreur 424
End Sub

Ce code fonctionnera si l'userform1 est toujours affiché ou juste caché (Hide)

Ami Banzaï,

Bonjour,,

Désolé, ça ne marche pas. La TextBox_Notes se trouve dans le 2ème UF que j'appelle UserForm_Photos et c'est là que je modifie les notes éventuellement. c'est bien la 18ème colonne R. lorsque j'ouvre UserForm_Photos, le premier UF est fermé.

je dois juste assigné à la colonne R (18) la valeur de la textBox_Notes de l'UF_Photos en face du nom sélectionné.

Merci de t'intéresser à mon problème.

Cordialement, Papy Pierrot


Banzaï,

no_ligne = Range("R65536").End(xlUp).Row + 1

Cette ligne de code amène la valeur de TextBox_Notes dans mon tableau, dans la bonne colonne mais à la première cellule vide en bas des données.

Comment l’amener dans la même colonne mais en face du nom sélectionné dans L'UserForm.

Désolé de te déranger, mais ce problème me turlupine depuis trop longtemps.

un grand merci .

Papy Pierrot

Bonjour

Je pense comme eriiic qu'avec un fichier ton problème serait réglé

Dans tes explications tu notes 1 fois "UserForm_Photos" et une autre fois "UF_Photos"

Un moyen de savoir si tu fais une erreur c'est quand tu crées ton code c'est d'utiliser l'objet Me (qui (succinctement) représente l'objet que tu manipules (Userform, Sheets ....) )

Tu tapes Me. ( le Me et le . (point) et tu auras une liste de tous les objets rattachées à cet objet, on commençant à taper les 1ères lettres tu auras le bon nom du contrôle souhaité

me

Bonjour

je viens de voir ton edit

Cappe Pierre a écrit :

Cette ligne de code amène la valeur de TextBox_Notes dans mon tableau, dans la bonne colonne mais à la première cellule vide en bas des données.

Oui fonctionnement normal : Recherche de la 1ère ligne vide

Cappe Pierre a écrit :

Comment l’amener dans la même colonne mais en face du nom sélectionné dans L'UserForm.

Heuuuu plus de message d'erreur ?

Une chose maintenant sure : il faut impérativement ton fichier

Comment veux que l'on devine quel est le nom sélectionné

Il peut y avoir plusieurs méthodes pour trouver une donnée

OK les gars, merci à tous, j'abandonne et je modifierai ces données manuellement dans mon tableau.

Je veux bien vous envoyer mon fichier, mai il fait plus de 4 Mo.Puis-je vous l'envoyer par mail ?

merci encore à tous

Papy Pierrot

Bonjour

Pourquoi abandonner

On n'a pas besoin de tout le fichier

Tu fais un fichier test avec tes 2 userforms, quelques données afin de pouvoir modifier

S'il fait 4 Mo c'est qu'il contient des photos ?

Enlèves les et essaies de supprimer (mettre en remarque) le code correspondant

Mais il faut que dans ton fichier on ait la même erreur

Expliques comment tu fais pour l'avoir

Je vais essayer de te préparer cela, a tantôt.

Pierrot

Voila mon ami Banzaï,

j'ai préparé un fichier test mais il ne fonctionne pas, erreur de noms ambigus même nom que le dossier original,

Je te le livres tel quel, tu fais de ton mieux, moi, j'abandonne pour aujourd’hui.

Merci beaucoup et bonne soirée à toi.

Papy Pierrot

60classeurtest.xlsm (67.81 Ko)

Bonsoir

Une réponse (valable si ta liste de nom dans ta base de données n'est pas réorganisée ( exemple un tri autre que sur le nom))

Private Sub CommandButton_Ajouter_Modif_Click()
Dim no_ligne As Long

  If Me.ChoixNom.ListIndex = -1 Then Exit Sub

  no_ligne = Me.ChoixNom.ListIndex + 5    ' Le 1er nom (ListIndex = 0) est à la ligne 5
  Cells(no_ligne, 18) = Me.TextBox_Notes
  ' Unload UserForm1
End Sub

Bonsoir,

Après avoir copier la macro dans le module correspondant au bouton, je reçois un msg au lancement du programme :

"Erreur de compilation, nom ambigu détecté", et le nom de la ,macro est en jaune.

un énorme merci pour tout ce que tu fais.

Papy Pierrot

Bonjour

Oui j'avais vu cette erreur dans le fichier que tu as envoyé, mais comme je pensais que ce n'était que ton fichier test, je n'en ai pas tenu compte et j'ai supprimé les macros en double, triple etc

Un tout grand merci aux gars du forum qui ont bien voulu m'aider, particulièrement Éric et Banzaï. que je remercie depuis mon petit village de Belgique.

Je vous embrasse amicalement et vous dis, a très bientôt, j'espère

Papy Pierrot, 73 ans

Rechercher des sujets similaires à "valeur textbox"