Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Général VBA
Général VBA Forum général VBA . Pour les logiciels spécifiques (Access, Excel, Word, ...), postez dans les bons sous forums.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 04/05/2007, 10h23   #1
Membre régulier
 
Inscription : juin 2006
Messages : 258
Détails du profil
Informations forums :
Inscription : juin 2006
Messages : 258
Points : 72
Points : 72
Par défaut Comment savoir si un tableau a été initialisé

bonjour

savez vous comment on fait pour savoir si un tableau a été initialisé?

Merci
kenny49 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/05/2007, 22h27   #2
Membre régulier
 
Avatar de doringen
 
Inscription : octobre 2006
Messages : 73
Détails du profil
Informations personnelles :
Âge : 30

Informations forums :
Inscription : octobre 2006
Messages : 73
Points : 71
Points : 71
question peut-être curieuse, mais qu'entends tu exactement par "initialiser" ? parce que si tu y vois l'effacement d'une plage donnée de cellules, il faudrait travailler avec un
qui travaillerait en permanence et enregistrerait le changement "initialisation" sous forme d'un booléen, ce qui ralentirait quand même pas mal ton activité sur le classeur concerné...
__________________
J´ai l´habitude de coder comme un lance-grenades
Alors ne vous étonnez pas si mes macros vous pétent dans les doigts...
doringen est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/05/2007, 01h05   #3
Expert Confirmé
 
Avatar de zazaraignée
 
Étudiant
Inscription : février 2004
Messages : 3 173
Détails du profil
Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : février 2004
Messages : 3 173
Points : 3 543
Points : 3 543
Ça dépend du type de valeur... l'environnement VB initialise toujours les variables et les tableaux. Les valeurs numériques, y compris les Dates et les currency sont initialisées à zéro, les valeurs de chaînes par une chaîne vide (""), les variants... Heu... je crois que ça reste vide (empty).
__________________
  • Pour les nouveaux : Mode d'emploi et aide aux nouveaux
  • et impérativement les règles du forum. Histoire de garder une ambiance amicale.
  • Noubliez pas les balises de Code pour vos listings : bouton # de l'éditeur. Et n'oubliez pas non plus de bouton
  • Je ne réponds pas aux questions posées par MP.
zazaraignée est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/05/2007, 10h19   #4
Inactif
 
Avatar de ouskel'n'or
 
Inscription : février 2005
Messages : 12 466
Détails du profil
Informations forums :
Inscription : février 2005
Messages : 12 466
Points : 11 930
Points : 11 930
Oui, (bonjour zaza) ou alors, inspiré d'un code de SilkyRoad pour supprimer les feuilles de calculs vides :
Code :
1
2
3
Set LaFeuille = Worksheets("TaFeuille")
        If LaFeuille.UsedRange.Cells.Address = "$A$1" And _
              IsEmpty(LaFeuille.Range("A1")) And LaFeuille.Shapes.Count = 0 Then msgbox "LaFeuille " & LaFeuille.name & " est vide"
c'est pas mal non plus...
A question vague réponse évasive.
Précise ce que tu veux faire, dans Excel ? Word ? PowerPoint ? Vider des cellules ? Bref, quelle est la nature de ton tableau ? Comment est-il déclaré ? etc. Un bout d'exemple, à défaut de code, nous aiderait à t'aider.
ouskel'n'or est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/05/2007, 01h40   #5
Expert Confirmé
 
Avatar de zazaraignée
 
Étudiant
Inscription : février 2004
Messages : 3 173
Détails du profil
Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : février 2004
Messages : 3 173
Points : 3 543
Points : 3 543
J'ajouterai que le simple fait de vider la mémoire (empty) pour les variables de type Variant ou de type Object (quels qu'il soient), c'est déja une initialisation faite par l'environnement de VB. Dans les autres langages comme Delphi ou C, une variable non initialisée contient le 'garbage' (esscuzez l'anglicisme) que le bloc de mémoire contenait déjà avant d'être libéré. C'est donc une bonne habitude d'initialiser systématiquement toutes nos variables (autant que faire se peut). Car une fois qu'on aura à programmer avec d'autres langages, l'habitude sera prise.
__________________
  • Pour les nouveaux : Mode d'emploi et aide aux nouveaux
  • et impérativement les règles du forum. Histoire de garder une ambiance amicale.
  • Noubliez pas les balises de Code pour vos listings : bouton # de l'éditeur. Et n'oubliez pas non plus de bouton
  • Je ne réponds pas aux questions posées par MP.
zazaraignée est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/05/2007, 09h47   #6
Inactif
 
Avatar de ouskel'n'or
 
Inscription : février 2005
Messages : 12 466
Détails du profil
Informations forums :
Inscription : février 2005
Messages : 12 466
Points : 11 930
Points : 11 930
Toujours dans le brouillard, je suggère que tu mettes
avant ton code, dans un module ou dans la feuille de code d'une feuille de calculs. Ainsi tu sauras si une variable n'a pas été déclarée.
Bref, kenny49, qu'entends-tu par "tableau initialisé"
ouskel'n'or est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 03h08.


 
 
 
 
Partenaires

Hébergement Web