cs_Jacky7
Messages postés63Date d'inscriptionmardi 13 mai 2008StatutMembreDernière intervention22 juin 2011
-
21 mai 2008 à 00:38
jimy neutron
Messages postés491Date d'inscriptionmercredi 1 février 2006StatutMembreDernière intervention18 novembre 2016
-
28 mai 2008 à 09:02
Bonsoir à tous,
J'ai realisé un prog qui permet l'écriture dans un fichier Excel, problème lorsque beaucoup de cases et de pages seront remplis j'ai peur que le prog soit trop long et perde des infos le temps de rechercher une case vide.
Pour effectuer la recherche d'une case vide, j'utilise une methode que j'ai trouvé sur le site :
Je me demandais s'il n'était pas possible de garder le numero de la page et de la case en memoire afin que le prog sache où il doit ecrire directement lorsqu'il recevra la prochaine info et non pas rechercher à chaque fois la première case vide de la colonne.
Est ce que quelqu'un aurait une idée sur la facon dont je pourrai m'y prendre ?
cs_Jack
Messages postés14006Date d'inscriptionsamedi 29 décembre 2001StatutModérateurDernière intervention28 août 201579 21 mai 2008 à 01:15
Salut ou Re ;-)
Oui, à toi de tester les deux solutions.
Le programme qui va faire cette recherche doit, je pense, être contenu dans une macro.
Cette macro fait partie d'une feuille.
Dans la partie Déclaration de ta feuille (tout en haut), déclare la variable qui mémorisera cette données :
Dim maLigne As Integer
Dim maColonne As Integer
Ensuite, dans ton code, tu peux mémoriser tes chiffres n'importe où (dans cette feuille).
Il te suffira donc d'utiliser le contenu de ces variables pour aller à la bonne place : Cells(maColonne, maLigne)
Puis, quand tu auras écrit une valeur dans cette cellule, d'incrémenter la ou les variables pour préparer la prochaine insertion.
Si, au moment où tu veux utiliser tes variables, elles sont vides, il faudra faire une première recherche telle que tu l'as décrite.
Vala
Jack, MVP VB NB : Je ne répondrai pas aux messages privés
<hr />Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
cs_Jacky7
Messages postés63Date d'inscriptionmardi 13 mai 2008StatutMembreDernière intervention22 juin 20113 21 mai 2008 à 18:34
Salut,
J'ai testé différentes solutions afin de garder en mémoire le numéro de ligne, mais j'ai un souci lorsque je sort de la boucle if on dirai que la valeur de LigneVide revient automatiquement à zéro ?? (je teste sa valeur avant la prochaine réecriture et LigneVide toujours = 0).
Serait- il possible de garder ce numéro en mémoire (LigneVide) à chaque sorti de boucle (voir même à la fermeture de VB6) afin que mon prog passe dans la 2eme partie de la boucle (ElseIf) ?
jimy neutron
Messages postés491Date d'inscriptionmercredi 1 février 2006StatutMembreDernière intervention18 novembre 20161 21 mai 2008 à 21:52
Comme t'as proposé Jack, place ta variable en global. Si tu la declare dans la procedure qui l'utilise, elle sera "dimentionnée" (Dim ...) donc réinitialisée à chaque execution.
Public LigneVide As Integer 'dans "Genenrale /Declaration"
Puis,
Private Sub CommandButton1_Click()
MsgBox (LigneVide)
If LigneVide = 0 Then
LigneVide = Sheets(1).Cells(Rows.Count, "A").End(xlUp).Row + 1
MsgBox (LigneVide)
ElseIf LigneVide > 0 Then
LigneVide = LigneVide + 1
MsgBox "MaLigne"
End If
Sheets(1).Range("A" & LigneVide) = Text2
End Sub
Jimy
Vous n’avez pas trouvé la réponse que vous recherchez ?
cs_Jacky7
Messages postés63Date d'inscriptionmardi 13 mai 2008StatutMembreDernière intervention22 juin 20113 27 mai 2008 à 17:40
Salut jimy neutron,
La solution que tu m'as donné fonctionne merveilleusement bien, je voulais simplement savoir s'il serait possible de garder cette valeur lorsque je ferme mon programme et VB6 en mémoire afin que mon prog sache où il doit écrire lors de la prochaine ouverture ou bien doit-je faire une recherche à chaque fois que je lance mon prog ?
jimy neutron
Messages postés491Date d'inscriptionmercredi 1 février 2006StatutMembreDernière intervention18 novembre 20161 28 mai 2008 à 09:02
Salut,
Oui, tu peux garder la valeur de cette variable, mais uniquement dans un fichier texte ou Ini que tu ecris lors de la fermeture de l'appli, et que tu lis à l'ouverture, autrement, elle sera forcement effacer à la fermeture.
La methode est simple, et tu trouveras beaucoup d'exemples dans la rubrique "code" du site, avec les mots clés "Fichier ini" ou "fichier texte"....