rss
Rechercher : dans
Par : Pertinence Date Nom d'utilisateur
Statut : Résolu

[VBA] transformer GoTo en Do while

Noodlesnood, le jeudi 15 février 2007 à 10:59:06
Bonjour,

J'ai un code qui fonctionne, mais étant donné que le GoTo n'est pas vraiment apprécié, on m'a conseillé de modifier mon code, j'ai donc pensé à une syntaxe Do While ... Loop


Code d'origine :

'inventaire CA
sommeCA = 0
compterCA= 0
For Each cell In ActiveSheet.UsedRange
If cell.Value = "CA" Then
On Error Resume Next
sommeCA= sommeCA + 1
On Error GoTo 0
compterCA = compterCA + 1
End If
Next
Range("C38") = (compterCA) - 1

J'ai tenté de le remplacer par :

'inventaire CA
sommeCA = 0
compterCA = 0
For Each cell In ActiveSheet.UsedRange
Do While cell.Value = "CA"
sommeCA = sommeCA + 1
compterCA = compterCA + 1
Loop
Range("C38") = (compterCA - 1)

Quelles sont mes erreurs? Je suis inutile donc indispensable °_°
Configuration: Windows XP
Firefox 2.0.0.1
Répondre à Noodlesnood  Signaler ce message aux modérateurs Aller au dernier message

1


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
ruzakruzak, le jeudi 15 février 2007 à 14:26:23
Ben le truc c'est que ton 1er code teste toute la plage, tandis que le 2e s'arrête au premier contenu différent de CA. Est-ce ce que tu veux vraiment faire ??
Répondre à ruzakruzak

2


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Noodlesnood, le jeudi 15 février 2007 à 16:36:20
Non je veux bien tester toute la plage et non m'arrêter au 1er non-CA, afin de les comptabiliser à la fin de la colonne. Je suis inutile donc indispensable.
Répondre à Noodlesnood

3


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
domiH1, le jeudi 15 février 2007 à 17:49:58
bonjour.
La règle syntaxique est :
"on error " est toujours suivi de "goto" + n°ligne ou étiquette (pour traitement suite à l'erreur) ou 0 (pour invalider) ou suivi de "resume next" pour continuer comme si rien ne s'était passé.
avec "on error " il n'y a donc pas le choix.
Ton programme est lisible facilement, ne change rien.
Répondre à domiH1

4


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Sylvain Laurence, le samedi 17 février 2007 à 23:35:31
Bonjour,

J'ajouterais seulement que la seule bonne façon de faire de la gestion d'erreur dans VB et VBA, c'est l'utilisation du GOTO.

Tous mes programme ont cette forme. Ça fait en sorte que l'usager n'a pas la fenêtre permettant d'aller dans le code avec le bouton Debug.

Function Nom_de_fonction()
On Error GoTo Error_Sub

   'code

Exit_Sub:
    Exit Function
Error_Sub:
    MsgBox Err.Description
    Resume Exit_Sub
End Function


Au plaisir!

Sylvain Laurence
Groupe Conseil Lartis Inc.
Développeur Acomba
http://acomba-developpeur-revendeur-integrateur-formateur-la­val.lartis.com/
http://www.lartis.com
Répondre à Sylvain Laurence

5


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
 Noodlesnood, le lundi 19 février 2007 à 11:19:23
Merci pour vos précisions ; ) Je suis inutile donc indispensable.
Répondre à Noodlesnood
Logiciels pertinents trouvés dans les téléchargements
Télécharger Word Viewer 2003Word Viewer - La visionneuse Word Viewer vous permet d'ouvrir des documents Word 2003 et des documents créés avec toutes les versions...Catégorie: Traitement de texte
Licence: Freeware/gratuit
Télécharger YouTube Movie Downloader 1.1.1YouTube Movie Downloader - Comme son nom l'indique, YouTube Movie Downloader permet de télécharger sur le disque dur les vidéos diffusées en streaming...Catégorie: Téléchargement
Licence: Freeware/gratuit
Télécharger Download Statusbar 0.9.4.5.1Download Statusbar - Cette extension remplace la fenêtre de téléchargement de Firefox par une discrète barre en bas de l'écran. En laissant le...Catégorie: Extensions Firefox
Licence: Freeware/gratuit
Télécharger Free Download Manager 2.5 build 758Free Download Manager - Free Download Manager est un logiciel gratuit de téléchargement, permettant aussi bien de télécharger des fichiers...Catégorie: Téléchargement
Licence: Open Source
Plus de logiciels gratuits sur « [VBA] transformer GoTo en Do while »