Morrissey35
Messages postés47Date d'inscriptionvendredi 15 juin 2007StatutMembreDernière intervention 3 juillet 2007
-
21 juin 2007 à 11:31
jmfmarques
Messages postés7666Date d'inscriptionsamedi 5 novembre 2005StatutMembreDernière intervention22 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
jmfmarques
Messages postés7666Date d'inscriptionsamedi 5 novembre 2005StatutMembreDernière intervention22 août 201427 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é.
jrivet
Messages postés7392Date d'inscriptionmercredi 23 avril 2003StatutMembreDernière intervention 6 avril 201260 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.
Morrissey35
Messages postés47Date d'inscriptionvendredi 15 juin 2007StatutMembreDerniè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....
Morrissey35
Messages postés47Date d'inscriptionvendredi 15 juin 2007StatutMembreDerniè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...
jrivet
Messages postés7392Date d'inscriptionmercredi 23 avril 2003StatutMembreDernière intervention 6 avril 201260 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")
Morrissey35
Messages postés47Date d'inscriptionvendredi 15 juin 2007StatutMembreDerniè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?
Morrissey35
Messages postés47Date d'inscriptionvendredi 15 juin 2007StatutMembreDerniè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...
Morrissey35
Messages postés47Date d'inscriptionvendredi 15 juin 2007StatutMembreDerniè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...
jmfmarques
Messages postés7666Date d'inscriptionsamedi 5 novembre 2005StatutMembreDernière intervention22 août 201427 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 !!!