begin process at 2012 02 15 21:15:04
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive Visual Basic & VB.NET

 > 

Archives Visual Basic

 > 

J'AI BESOIN D'AIDE !!!! :)

 > 

msgbox et compteur


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

msgbox et compteur

vendredi 22 août 2003 à 10:48:00 | msgbox et compteur

beline

Bonjour,
ma macro réalise une extraction de données d'un classeur excel (source) vers un autre classeur (arrivee), en fonction d'un test sur une partie de ces données. J'ai donc utilisé un compteur pour incrémenter dans la feuille arrivee, les lignes répondant positivement au test. Attention je commence le remplissage à partir de la 8eme ligne (avant il y a les titres).
Le but est ensuite d'exploiter ce compteur pour indiquer le nombre de lignes ainsi remplies. Et ça marche, sauf si aucune ligne n'est remplie : mon résultat (en D5) indique -7 au lieu de 0.
idéalement je cherche à faire apparaître automatiquement une msg box dans le cas ou le résultat est 0.
Pouvez-vous jettez un coup d'oeil à mon code, svp?

Sheets.Add
ActiveSheet.Name = "compteur"

Workbooks.Open Filename:="C:\sensible\fichiers\source.xls"

Dim i, j
Dim numobj, numsac, codeach

i = 3
While Cells(i, 1).Value <> ""
codeach = Cells(i, 2).Value
numsac = Cells(i, 3).Value
numobj = Cells(i, 4).Value

If Mid(codeach, 4, 2) = 24 Or Mid(codeach, 4, 2) = 33 Or Mid(codeach, 4, 2) = 40 Or Mid(codeach, 4, 2) = 47 Or Mid(codeach, 4, 2) = 64 Then

Windows("arrivee.xls").Activate
j = 8
While Cells(j, 1) <> ""
j = j + 1
Wend
Cells(j, 1).Value = codeach
Cells(j, 2).Value = numsac
Cells(j, 3).Value = numobj

End If

Windows("source.xls").Activate

i = i + 1
Wend

Range("D5").Value = j - 7


Merci par avance!
(grande première pour moi de poser une question dans un forum!)
Beline
vendredi 22 août 2003 à 13:41:24 | Re : msgbox et compteur

sylric

L'erreur -7 au lieu de 0 viens de ton premier test :
If Mid(codeach, 4, 2) = 24 Or Mid(codeach, 4, 2) = 33 Or Mid(codeach, 4, 2) = 40 Or Mid(codeach, 4, 2) = 47 Or Mid(codeach, 4, 2) = 64 Then
Quand aucune des valeur ne correspond, tu ne passes pas dans les instructions, et j reste = 0 car elle n'est pas initialisée. Et donc 0 - 7 = -7 !
En gros deux solutions, soit tu fias l'initialisation de j à 8 avant ce test, soit tu change l'expression testée.

Pour le msgbox, tu peux le faire après le Wend:
If j = 8 Then
MsgBox "Le résultat est 0"
End If

Voila pour la grande première ! si tu as d'autres questions (même petite)....

-------------------------------
Réponse au message :
-------------------------------

> Bonjour,
> ma macro réalise une extraction de données d'un classeur excel (source) vers un autre classeur (arrivee), en fonction d'un test sur une partie de ces données. J'ai donc utilisé un compteur pour incrémenter dans la feuille arrivee, les lignes répondant positivement au test. Attention je commence le remplissage à partir de la 8eme ligne (avant il y a les titres).
> Le but est ensuite d'exploiter ce compteur pour indiquer le nombre de lignes ainsi remplies. Et ça marche, sauf si aucune ligne n'est remplie : mon résultat (en D5) indique -7 au lieu de 0.
> idéalement je cherche à faire apparaître automatiquement une msg box dans le cas ou le résultat est 0.
> Pouvez-vous jettez un coup d'oeil à mon code, svp?
>
> Sheets.Add
> ActiveSheet.Name = "compteur"
>
> Workbooks.Open Filename:="C:\sensible\fichiers\source.xls"
>
> Dim i, j
> Dim numobj, numsac, codeach
>
> i = 3
> While Cells(i, 1).Value <> ""
> codeach = Cells(i, 2).Value
> numsac = Cells(i, 3).Value
> numobj = Cells(i, 4).Value
>
> If Mid(codeach, 4, 2) = 24 Or Mid(codeach, 4, 2) = 33 Or Mid(codeach, 4, 2) = 40 Or Mid(codeach, 4, 2) = 47 Or Mid(codeach, 4, 2) = 64 Then
>
> Windows("arrivee.xls").Activate
> j = 8
> While Cells(j, 1) <> ""
> j = j + 1
> Wend
> Cells(j, 1).Value = codeach
> Cells(j, 2).Value = numsac
> Cells(j, 3).Value = numobj
>
> End If
>
> Windows("source.xls").Activate
>
> i = i + 1
> Wend
>
> Range("D5").Value = j - 7
>
>
> Merci par avance!
> (grande première pour moi de poser une question dans un forum!)
> Beline


Cette discussion est classée dans : compteur, mid, value, cells, codeach


Répondre à ce message

Sujets en rapport avec ce message

Actualisation de Fonction VBA [ par MrHyDe ] Bonjour,J'ai créé une fonction en VBA qui avec plusieurs variables en entrée (la valeur de 4 cellules) me renvoie un résultat. Voici le code : (rien d Comment ouvrir dans notepad un fichier (.ini) soit TXT [ par VB_PtitCat ] Bonjours, Voilà je m'escuse déja pour les fructeuses fautes d'othographe que je vais faire, mais bon le français n'est pas mon fort   Donc voilà mon p Temps d'exécution trop long [ par mimi_939 ] Bonjour,j'ai développé un module me permettant de gérer des alertes. Il semble bien fonctionner, le problème est qu'à l'exécution, le programme boucle [Excel] Compter le nombre de lignes [ par Fraggy ] Bonjour à tous,Je ne suis pas sur de poster dans la bonne rubrique, donc si jamais c'est pas le cas, je suis désolé.Tout est dans le titre. Je cherche occurences [ par renaud97434 ] bonjour, j'ai déjà posté sur un autre thème en me trompant. j'espère que quelqu'un aura la solution pour moi.j'ai une macro qui se présente ainsi: S erreur de copie de worksheet [ par tonton33650 ] Bonjour,Je viens de creer une macro qui me permet de creer un nouvel onglet pour chaque valeur (chaque valuer etant unique) qui se trouve dans mon por PROBLEME SUR UNE BOUCLE RECHERCHER [ par alonsolinoli ] Bonjour,Je débute en VBA Excel et j''ai un petit bout de code que je ne parviens pas à amèliorer, je tourne en rond Je cherche à faire en sorte de pou


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 3,884 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales