Rien ne marche comme prévu

Joshua1969

XLDnaute Nouveau
Re-Bonjour,
Décidément, VBA est compliqué pour les débutants sans mode opératoire !
Je joins un fichier Test pour expliquer ma demande.

Je voudrais que les données dans le tableau de D7 à AH? (tableau à ligne variable) soient affectées à un tableau de variable.
D'ou le code suivant que j'ai essayé de faire :

Option Explicit

Sub TabTou()

Dim Derlig As Long
Derlig = Range("C65536").End(xlUp).Row
ReDim TabTou(1 To Derlig, 1 To 31) As Variant
Dim i As Byte, j As Byte
For i = 1 To UBound(TabTou, 1)
For j = 1 To UBound(TabTou, 2)
TabTou(i, j) = i & j
Debug.Print TabTou(i, j)
Next j
Next i

End Sub

J'ai bien entendu une erreur sur TabTou(i, j) = i & j (indice n'appartient pas à la sélection). Je suppose que c'est une histoire de coordonnées mais je ne trouve pas la solution.
Si quelqu'un peut m'aider, ce serait un soulagement pour moi de comprendre.

Bonne soirée et merci à vous d'avance.
 

Pièces jointes

  • Test.xlsx
    27 KB · Affichages: 50
  • Test.xlsx
    27 KB · Affichages: 51
  • Test.xlsx
    27 KB · Affichages: 61

Papou-net

XLDnaute Barbatruc
Re : Rien ne marche comme prévu

Bonsoir Joshua1969, suistrop,

Je ne comprends pas bien non plus, mais il me semble toutefois qu'on ne peut pas, en VBA, donner le même nom à une variable et à une procédure.

A ta place, j'essaierais donc de changer le nom de la procédure, par exemple :

Code:
Sub [COLOR="Red"][B]TabTout[/B][/COLOR]()
...
...
...
End Sub

Espérant avoir aidé.

Cordialement.
 

ROGER2327

XLDnaute Barbatruc
Re : Rien ne marche comme prévu

Bonsoir à tous

Re...
Re-Bonjour,
Décidément, VBA est compliqué pour les débutants sans mode opératoire !
Je joins un fichier Test pour expliquer ma demande.

Je voudrais que les données dans le tableau de D7 à AH? (tableau à ligne variable) soient affectées à un tableau de variable.
D'ou le code suivant que j'ai essayé de faire :

Option Explicit

Sub TabTou()

Dim Derlig As Long
Derlig = Range("C65536").End(xlUp).Row
ReDim TabTou(1 To Derlig, 1 To 31) As Variant
Dim i As Byte, j As Byte
For i = 1 To UBound(TabTou, 1)
For j = 1 To UBound(TabTou, 2)
TabTou(i, j) = i & j
Debug.Print TabTou(i, j)
Next j
Next i

End Sub

J'ai bien entendu une erreur sur TabTou(i, j) = i & j (indice n'appartient pas à la sélection). Je suppose que c'est une histoire de coordonnées mais je ne trouve pas la solution.
Si quelqu'un peut m'aider, ce serait un soulagement pour moi de comprendre.

Bonne soirée et merci à vous d'avance.
Cette procédure fonctionne parfaitement dans les limites que vous avez choisies, à savoir un tableau de 254 lignes sur 254 colonnes au maximum.
Si vous voulez dépasser ces limites, modifiez le typage des variables i et j.​
ROGER2327
#4339


Vendredi 13 Haha 138 (Saint et Sainte Fenouillard, Sainte famille, SQ)
27 Vendémiaire An CCXIX
2010-W42-1T22:17:34Z
 

Discussions similaires

Réponses
11
Affichages
347

Statistiques des forums

Discussions
312 489
Messages
2 088 855
Membres
103 979
dernier inscrit
bderradji