Récupérer contenu zone txt de bte à outil control

D

Dany

Guest
Bonjour à toutes et à tous! C encore moi avec mes petits soucis avec VBA...
Alors j'ai une zone de texte de la boite à outils controles, avec 2 labels, un qui definit la taille limite du nombre de caractère autorisé, et une qui compte le nombre de caractère saisi et qui passe en rouge qd le nombre est supérieur a la limite. Jusque là, pas de soucis (fichier en attaché).
La, ou je coince, c'est pour récuperer le texte, saisi dans la zone, dans une variable via une macro d'un module qui se trouve dans un autre fichier excel. Voici le code de ma fonction :

Code:


¤¤ J'appelle ma fonction ainsi :

importTextBox 'compteur', 'TextBox1', 'P1_Contenu'

¤¤ Et voici le code de la fonction :

' gère l'import d'un TextBox via les variables globales fileSource, fileDest, sheetDest
' (et en particulier le problème des 255 caractères)
' sheetSrc : nom du sheet contenant le textbox à importer
' tBoxSrc : nom de l'objet textbox à importer
' cellDest : les références de la cellule destination


Sub importTextBox(sheetSrc, tBoxSrc, titre)
' Dimension the variables.
Dim x As Integer
Dim txtBox1 As TextBox
Dim theText As String
Dim cell As Range
Dim noLigne As Long

' Choix de la bonne variable globale en fonction du contexte
'If concerne_fichier_presentation Then
noLigne = noLigneDestPres
'Else
'noLigne = noLigneDestDomSpe
'End If

' IMPORTER (ou valeur valeur_onglet_absent si la feuille n'existe pas)
If (Not cetOngletExiste(sheetSrc)) Then
Workbooks(fileDest).Sheets(sheetDest).Cells(noLigne, noColDest).Value = valeur_onglet_absent
Else
Workbooks(fileSource).Sheets(sheetSrc).Select

' Set txtBox1 equal to the active sheet's TextBox
' objects. Replace the ordinal number with your TextBox names
' in quotes. For example: ActiveSheet.DrawingObjects('Text 1')



'¤¤ Et voici ici l'endroit ou il faut mettre le code pour récuperer le contenu de la zone de texte mais je ne connais pas la syntaxe et celle ci ne fonctionne pas ...

Set txtBox1 = ActiveSheet.Controls(tBoxSrc)



' Positionner une référence sur la cellule de destination
Set cell = Workbooks(fileDest).Sheets(sheetDest).Cells(noLigne, noColDest)
' Vider la cellule
cell.Value = ''

' Create a For-Next construct that loops until there is no more
' text in txtBox1.
For x = 1 To txtBox1.Characters.Count Step 250

' Place the first text box text into a variable called theText.
theText = txtBox1.Characters(Start:=x, Length:=250).Text
' Add the value of theText variable into second text box.
cell.Value = cell.Value & theText

Next
End If

' Positionner le titre
If maj_titre_actif Then Workbooks(fileDest).Sheets(sheetDest).Cells(1, noColDest).Value = titre

' INCREMENTER le numero de colonne courant
noColDest = noColDest + 1
End Sub
 
D

Dany

Guest
Re:Récupérer contenu zone txt de bte à outil cont

J'ai une erreur de ce genre :
erreur no 1004 : Impossible de lire la propriété OLEObjects de la classe Worksheet.. Source : Microsoft Office Excel
Peut etre faut il que je face l'appel a la fonction d'une autre maniere que :
importTextBox 'compteur', 'TextBox1', 'P1_Contenu' au niveau de 'TextBox1', non?

Merci en tout cas de votre aide.
 
D

Dany

Guest
Re:Récupérer contenu zone txt de bte à outil cont

Je reviens vers vous car je n'arrive toujours pas à débloquer mon code...J'ai toujours cette erreur :

détail : erreur no 91 : Variable objet ou variable de bloc With non définie. Source : VBAProject

J'aimerai savoir a quel endroit il pourrait me faire une erreur, sur quel variable, au moins j'aurai l'impression d'avancer meme si je n'ai pas encore trouvé de solution mais comme je n'ai pas enormement de compétences au niveau de ce langage de programmation, je suis un peu limitée là...

Peut etre des personnes plus expérimentés auraient des idées?

Merci d'avance.
 

Discussions similaires

Réponses
3
Affichages
524

Membres actuellement en ligne

Statistiques des forums

Discussions
312 229
Messages
2 086 423
Membres
103 206
dernier inscrit
diambote