Warning: Parameter 1 to wp_default_scripts() expected to be a reference, value given in /homepages/1/d272979056/htdocs/itself/wp-includes/plugin.php on line 601
Redéfinition variable Excel VBA 2007 | ItSelf : développement, libre, open source, linux
Warning: Parameter 1 to wp_default_styles() expected to be a reference, value given in /homepages/1/d272979056/htdocs/itself/wp-includes/plugin.php on line 601

VBA sur Excel Bug ou (R)évolution

Posted by on Fév 17, 2009 in Blog, Edito | No Comments

Je m’explique il y a une différence au niveau de l’utilisation des variables et de leur portée entre VBA 2003 et VBA 2007

avec le tableau ci-dessous ce sera plus clair

2003

2007

Correction 2007

function test(mavariable as string)

mavariable = left(mavariable,2)

test=mavariable

end function

sub test()

varorigine= »bonjour »

resultat = test(varorigine)

end sub

fonction identique à 2003 function test(mavariable as string)

tmpvariable = mavariable

tmpvariable = left(tmpvariable,2)

test=tmpvariable

end function

sub test()

varorigine= »bonjour »

resultat = test(varorigine)

end sub

Résultat après exécution Résultat après exécution Résultat après exécution
varorigine = « bonjour »

resultat = « bo »

varorigine = « bo »

resultat = « bo »

varorigine = « bonjour »

resultat = »bo »

En fait dans la version non corrigée la redéfinition de la variabla agit comme un pointeur et va modifier la variable en dehors de la fonction.

twitterlinkedin

Leave a Reply

You must be logged in to post a comment.