Problème avec mon code

Résolu
Morrissey35 Messages postés 47 Date d'inscription vendredi 15 juin 2007 Statut Membre Dernière intervention 3 juillet 2007 - 21 juin 2007 à 11:31
jmfmarques Messages postés 7668 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 - 21 juin 2007 à 12:04
Bonjour,
dans le code ci-dessous, lorsque je clique sur Ok, VB m'indique une erreur...parce qu'il n'arrive pas à lire la variable Fiche. Celle ci est indiquée dans une textbox que l'utilisateur de l'application entre lui même (il s'agit d'une valeur numérique).
Quelqu'un peut il m'aider

Private Sub Fiche_Change()
Dim Fiche As Integer
End Sub


Private Sub TextBox2_Change()
End Sub

Private Sub CommandButton1_Click()
Dim appexcel As Excel.Application
Dim wbexcel As Excel.Workbook
Dim Fiche As Integer


' Apel du fichier excel
Set appexcel = CreateObject("Excel.Application")
appexcel.Visible = True
Set wbexcel = appexcel.Workbooks.Open(TextBox2.Text)


 
 'apel de la feuille correspondante
appexcel.Sheets("Feuil1").Select
appexcel.Range("A5").Select
appexcel.Selection.Copy
Sheets("Feuil1").Select
Range("A" & Fiche + ligne).Select
ActiveSheet.Paste

Merci
Moz

20 réponses

jmfmarques Messages postés 7668 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 28
21 juin 2007 à 11:54
Alors :
En dehors du fait que (comme exposé) on n'a nul besoin de se servir d'Excel pour ouvrir Excel ...
Si ta textbox s'appelle Fiche (je m'en doutais), tu n'as pas à te servir d'une variable Fiche !
Dans ta formule de pointage, il te faut tout bêtement mettre la valeur du contenu de la textbox nommée Fiche !
Attention toutefois : si la textBox Fiche ne contient rien ===>>> plantage assuré.
3
jmfmarques Messages postés 7668 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 28
21 juin 2007 à 11:35
C'est du VB6 (présente section) ou du VBA ???


De toutes manières :


Fiche est une variable numérique (supposons = 6) et ligne également (supposons 3)


Donc fiche + ligne ====>>> te donne 9
0
jmfmarques Messages postés 7668 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 28
21 juin 2007 à 11:38
Et on ne voit pas, en plus, où tu établis la valeur de fiche par rapport à ta textbox de saisie !!!
0
jrivet Messages postés 7393 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
21 juin 2007 à 11:38
Salut,
Quel est l'erreur donnée et surtout sur quelle ligne elle survient.
Que vaut Fiche Ligne (et Fiche + Ligne) au moment du plantage si le tout vaut 0 normal que cela plante.

Est ce que tu travaille directemetn sur Excel?

@+: Ju£i?n
Pensez: Réponse acceptée
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Morrissey35 Messages postés 47 Date d'inscription vendredi 15 juin 2007 Statut Membre Dernière intervention 3 juillet 2007
21 juin 2007 à 11:40
c'est une macro sous excel (visual basic editor)
Ce que je ne comprends pas c'est que l'application n'arrive pas à lire la valeur numérique que l'utilisateur entre dans la textbox....

Moz
0
jmfmarques Messages postés 7668 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 28
21 juin 2007 à 11:42
On ne voit pas, nous non plus, où et comment tu lui demandes de lire ce qu'il y a dans la textbox !!!!
0
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 131
21 juin 2007 à 11:42
ben alors pourquoi tu poste dans la section vb6 si tu es sous vba ???

Je déplace, mais ca commence à me soualer les gens qui se plante de forum maintenant !!! 6 dans la matiné !
0
Morrissey35 Messages postés 47 Date d'inscription vendredi 15 juin 2007 Statut Membre Dernière intervention 3 juillet 2007
21 juin 2007 à 11:42
en fait le probleme vient des que l'appli arrice à
 Range("A" & Fiche + ligne).Select
je pense qu'elle n'arrive pas à lire la variable...
juste pour votre info....je suis neophite débutant..dc il se peut que je commette une erreur bête...

Moz
0
jrivet Messages postés 7393 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
21 juin 2007 à 11:44
RE,
NOTE:
Quel est l'interet de
Private Sub Fiche_Change()
Dim Fiche As Integer
End Sub

NOTE la variable Fichier de Private Sub Fiche_Change() ne sera en aucun ca (meme une fois renseignée) connu (et donc avec la meme valeur) dans Private Sub CommandButton1_Click()

Donc le mieux est encore de bien expliquer ce que tu souhaite.

De plus si tu travaille sous Excel pourquoi relancer un autre excel????
Set appexcel = CreateObject("Excel.Application")

@+: Ju£i?n
Pensez: Réponse acceptée
0
jmfmarques Messages postés 7668 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 28
21 juin 2007 à 11:45
Dis-voir (un soupçon, soudain...) : quel est le nom de la textbox de saisie ?
0
Morrissey35 Messages postés 47 Date d'inscription vendredi 15 juin 2007 Statut Membre Dernière intervention 3 juillet 2007
21 juin 2007 à 11:45
dsl darkisidious, je vais deplacer mon post..je ne pensais pas etre dans VB6...

Moz
0
Morrissey35 Messages postés 47 Date d'inscription vendredi 15 juin 2007 Statut Membre Dernière intervention 3 juillet 2007
21 juin 2007 à 11:47
j'ouvre une autre feuille excel pour en extraire les données...

Moz
0
jrivet Messages postés 7393 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
21 juin 2007 à 11:47
Re,
NON NE FAIS RIEN DARKSIDIOUS LA DEJA FAIT.

@+: Ju£i?n
Pensez: Réponse acceptée
0
Morrissey35 Messages postés 47 Date d'inscription vendredi 15 juin 2007 Statut Membre Dernière intervention 3 juillet 2007
21 juin 2007 à 11:48
la textbox de saisie dans laquelle on entre la valeur numérique s'appelle Fiche_Change()

Moz
0
Morrissey35 Messages postés 47 Date d'inscription vendredi 15 juin 2007 Statut Membre Dernière intervention 3 juillet 2007
21 juin 2007 à 11:50
waww c impressionnant ici...ça fuse ...
moi qui ne suis pas informaticien, vous m'impressionez..

Moz
0
Morrissey35 Messages postés 47 Date d'inscription vendredi 15 juin 2007 Statut Membre Dernière intervention 3 juillet 2007
21 juin 2007 à 11:54
donc comment dois je faire pour faire en sorte que la variable fiche (qui est la valeur num que l'utilisateur entre dans la textbox) soit bien prise en compte qd l'utilisateur clic sur OK?

encore merci à tous...

Moz
0
Morrissey35 Messages postés 47 Date d'inscription vendredi 15 juin 2007 Statut Membre Dernière intervention 3 juillet 2007
21 juin 2007 à 11:59
Merci beaucoup ça marche...en fait je me compliquais la vie..
Juste une question: quelle msgbox je dois mettre en cas de mauvaise saisie par l'utilisateur?
Par ailleurs, peut on mettre des CommonDialog sous VisualBasic Editor, et si oui, je n'arrive pa sà trouver l'objet...

Merci beaucoup
Moz
0
jmfmarques Messages postés 7668 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 28
21 juin 2007 à 12:00
Range("A" & Fiche + ligne).Select

C'est dans cette ligne qu'il faut remplacer Fiche (qui est le nom de ta textbox) par la valeur de ce qu'elle contien !
Genre val(Fiche.text)

(vérifier si sous VBA c'est bien .text et non .value... hein)...
Mais quid de ta variable ligne ? on ne la voit pas non plus !
0
Morrissey35 Messages postés 47 Date d'inscription vendredi 15 juin 2007 Statut Membre Dernière intervention 3 juillet 2007
21 juin 2007 à 12:04
sous tes conseils, j'ai juste enlevé le Dim Fiche as integer
et ça a suffit pour faire fonctionner l'applie (l'apppli permet d'aller extraire des données ciblés dans plusieurs fichiés excel afin de pouvoir les centraliser dans une seule)..

en tout cas, je vous remercie pour le temps que vous avez prix pour me repondre...

Moz
0
jmfmarques Messages postés 7668 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 28
21 juin 2007 à 12:04
Popur vérifier la saisie de l'utilisateur ?
La msgbox contenant le texte de ton choix ! (je te propose "ça va pas la tête ?")

L'essentiel est sans aucun doute de vérifier que sa saisie est cohérente ( regarde Isnumeric dans ton aide en ligne) et de quitter ta sub si elle ne l'est pas, en redonnant le Focus à ta Textbox ...
Mais il me semble qu'une autre vérification s'imose également : l'existence de la colonne correspondant à sa saisie...)

Mais tout celà reste du B.A.BA, même pour moi qui ne possède même pas VBA et n'y connais rien de rien !!!
0