modification d une fonction vba - VB/VBA/VBS - Programmation
Marsh Posté le 06-08-2005 à 19:22:34
excelvba a écrit : bonjour j ai une fonction vba qui permet de faire sensiblement ce que fait recherchev mais elle permet d avoir plusieurs résultat. mon probleme se situe au niveau des résultat que le fonction donne. lorsque je réactive la fonction une deuxieme fois elle me redonne les meme résultat que javais déja plus les nouveau donc elle double ceux que j avais déja. est ce possible de programmer la fonction pour qu elle ne double pas les valeur que j ai déja et qu elle ajoute les nouvelle. c une sorte de refresh que je veux dans le fond |
J'ai pas le sentiment que t'es cherché à résoudre ce problème ? est-ce que je me trompe ?
Quand une fonction ressors les mêmes valeurs c'est qu'elle as due les garder quelques part, soit dans une variable que tu n'as pas vidé ou autres chose. Les variables peuvent être des lignes ou des colonnes...
En VB ou même VBA t'as la chance de pouvoir mettre des points d'arret, pour voir comment se déroule la fonction et les valeurs qu'elle ramène et à quel moment. Tu peux aussi mettre des msgbox pour voir les valeures qu'elle retourne à des moment précis (par exemple avant la seconde boucle)...
Je t'ai donné des élèments pour débuger ta fonction. Il est difficile de faire ce travail à ta place, tu le comprends bien...
@+
Marsh Posté le 08-08-2005 à 06:40:54
merci pour ta reponse rapide c est tres apprécier et je dois avouer que tu m as fait réfléchir pcq j ai appris a me servir de vba la semaine derniere et je suis entrain de faire un logiciel de comptabilité avec ca vraiment cool. j ai trouver la solution a mon probleme et je crois que le fais que tu m ai dit que je n avais pas assez chercher m as fouetter un peu a travailler plus fort merci bien
au plaisir de reparler avec toi
Marsh Posté le 08-08-2005 à 11:41:20
excelvba a écrit : merci pour ta reponse rapide c est tres apprécier et je dois avouer que tu m as fait réfléchir pcq j ai appris a me servir de vba la semaine derniere et je suis entrain de faire un logiciel de comptabilité avec ca vraiment cool. j ai trouver la solution a mon probleme et je crois que le fais que tu m ai dit que je n avais pas assez chercher m as fouetter un peu a travailler plus fort merci bien |
Y a pas de quoi. Vba pour faire un logiciel ??? c'est pas l'outils qu'il te faut. Vba est trés bien pour faire des tâches "simple" et qui prenne peu de ressources. Je te conseile d'utiliser le VB pour faire des programmes (pas des logiciels, qui signifie encore autre chose)...Ce n'est qu'un avis, qui me regarde.
@+
cvb
Marsh Posté le 06-08-2005 à 06:00:24
bonjour j ai une fonction vba qui permet de faire sensiblement ce que fait recherchev mais elle permet d avoir plusieurs résultat. mon probleme se situe au niveau des résultat que le fonction donne. lorsque je réactive la fonction une deuxieme fois elle me redonne les meme résultat que javais déja plus les nouveau donc elle double ceux que j avais déja. est ce possible de programmer la fonction pour qu elle ne double pas les valeur que j ai déja et qu elle ajoute les nouvelle. c une sorte de refresh que je veux dans le fond
voici le code en question :
Sub recherche()
Dim i, j, lgn As Integer
For i = 1 To Sheets("Liste régularisations" ).Cells(1, 1).CurrentRegion.Rows.Count
For j = 1 To 7
If Not IsEmpty(Sheets("Feuil1" ).Cells(j + 3, 2)) Then
If Sheets("Liste régularistations" ).Cells(i, j).Value <> _
Sheets("Feuil1" ).Cells(j + 3, 2).Value Then GoTo erreur
End If
Next
lgn = Sheets("Feuil1" ).Cells(15, 1).CurrentRegion.Rows.Count + 15
Sheets("Feuil1" ).Range(Sheets("Feuil1" ).Cells(lgn, 1), Sheets("Feuil1" ).Cells(lgn, 7)).Value = _
Sheets("Liste régularisations" ).Range(Sheets("Liste régularisations" ).Cells(i, 1), Sheets("Liste régularisations" ).Cells(i, 7)).Value
erreur:
Next
End Sub
le code provient de ce forum il a été écrit par itawa si je me trompe pas.
donc si quelqu un peut me faire un coup de génie et régler se probleme ca me ferait sourire énormément !!!
merci
dsl pour le language utilisé je suis débutant en vba donc je ne sais pas si je m exprime comme il faut