Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1199 connectés 

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  EXCEL VBA - Bug pour affecter valeurs dans tableau

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

EXCEL VBA - Bug pour affecter valeurs dans tableau

n°1424992
Pixel72
Posté le 13-08-2006 à 13:03:43  profilanswer
 

Bonjour,
Je desire affecter des valeurs dans un tableau sous VBA Excel avec le code ci-dessous :
 
Sub Affecter_Valeurs_Tab()
 
Dim TabValeurs() As Single
Dim CompteurLignes As Byte
Dim CompteurColonnes As Byte
 
 
Sheets("Parametrages" ).Select
For CompteurLignes = 1 To 20 'DerLigne
       
      For CompteurColonnes = 1 To 6
    TabValeurs(CompteurLignes, CompteurColonnes) = Cells(CompteurLignes + 11, CompteurColonnes + 1)
      Next CompteurColonnes
       
Next CompteurLignes
 
       
End Sub
 
Le problème qui me bloque c'est le message sur la ligne rouge :
 
Type incompatible (erreur 13) :??:  
 
J'ai tourné le Pb dans tous les sens, sans résultat.
 
Si quelqu'un pouvais me dépanner ce serait super !
 
Pixel72
 
 
 

mood
Publicité
Posté le 13-08-2006 à 13:03:43  profilanswer
 

n°1425019
jpcheck
Pioupiou
Posté le 13-08-2006 à 14:03:04  profilanswer
 

si tu affectes des valeurs, pkoi ne mets tu pas le .value derriere tes cells ?

n°1425034
galopin01
Posté le 13-08-2006 à 14:36:43  profilanswer
 

Bonjour,
essaie :
 
Dim TabValeurs(20, 6) As Single  
 
A+

n°1425101
Pixel72
Posté le 13-08-2006 à 18:04:38  profilanswer
 

Avec ces instructions ( .Value) ou (Dim TabValeurs(20, 6) As Single) j'ai toujours le même message, d'autre parts il s'agit d'un tableau qui doit pouvoir évoluer ( le nombre de lignes peut augmenter voir diminuer). Je ne peux donc pas figer le nombre de colonnes et de lignes  .
 
Mon pb reste entier... :??:

n°1425112
Pixel72
Posté le 13-08-2006 à 18:43:27  profilanswer
 

Je viens de mettre le doigt sur mon Pb :
Le tableau ne doit pas être "avec un type". Il doit être de la forme : Dim TabValeurs().
 
Desormais ça fontionne inpec.
 
Merci à tous.


Message édité par Pixel72 le 13-08-2006 à 18:45:39
n°1425113
galopin01
Posté le 13-08-2006 à 18:45:07  profilanswer
 

Bonsoir,
Il faut distinguer 2 problèmes : La déclaration du tableau et le message d'erreur.
 
Le code d'erreur que tu signales est normalement "incongru" pour cette macro : Si on met ce code "brut de fonderie" dans un classeur vide Excel on obtient une erreur "9" due au défaut de déclaration et non pas une erreur "13".
 
J'ai donc tendance à penser que tu as un peu résumé ton code en supprimant un élément déterminant.
 
Tu ne peux pas déclarer un tableau à 2 dimensions pour une plage de la manière dont tu le fais. Ou tu le déclares en variant ou tu le déclares pas du tout ce qui revient au même, ou tu déclares des dimensions que tu "Redim" au fil de l'eau.
 
Pour un objet plage tu as intéret à déclarer ton array de la manière suivante :
a = [A1:F20]
 
Ce qui offre en outre l'avantage d'être plus rapide qu'une boucle.
Si tu ne peux le faire (parce que tu es obligé de variabiliser ta plage) utilise :
a=Range(Cells(a,b),(c,d))
A+


Message édité par galopin01 le 13-08-2006 à 18:49:33
n°1425114
Pixel72
Posté le 13-08-2006 à 18:53:25  profilanswer
 

Galopin,
 
Comme tu as pu le voir j'ai trouvé la réponse à mon pb.
 
Quant au dernier paragraphe de ton post, je le met dans un petit coin de ma tête, car pour l'instant je viens tous juste d'apprivoisser le fonctionnement des tableaux dynamiques.
Je vais terminer toute ma macro, puis je reveindrais à ta solution
 
Merci encore


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  EXCEL VBA - Bug pour affecter valeurs dans tableau

 

Sujets relatifs
insérer un tableau dans un richtextboxMacro vba apres un tri sous excel
Select multiple recuperer toutes les valeursBouton VBA permettant Somme 2 colonnes en 1 pour impression...
Saut de ligne sous ACCESS dans des Label en VBAUtiliser des CheckBox sur une feuille excel
Saut de ligne sous ACCESS dans des Label en VBA[VBA -EXCEL] AIDE SVP !! copie modele + nom + titre + case a cocher..
Importation de donnés Excel dans Access[Macro Word] Ouvrir Un fichier csv sous Excel par une macro Word
Plus de sujets relatifs à : EXCEL VBA - Bug pour affecter valeurs dans tableau


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR