Chargement des données d'une feuille dans une tableau [Résolu/Fermé]

Signaler
-
 metal1106 -
Bonjour,

Je fais recours à votre aide sur un macro que je devrai débugger mais cela est clairement au-delà de mes compétences en macro/VBA. Quelqu'un aurait la gentillesse de m'expliquer ce qui fait ce sub svp?

Sub Charger_Tab (T, zone)
T = Rang (zone)
End Sub

Merci beaucoup pour votre aide!

2 réponses

Messages postés
12251
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
17 mars 2021
2 598
Bonjour,

Ecrit comme ça le code va planter...

Ceci par contre est plus explicite :

Sub Charger_Tab (T As Variant, zone As String) 
    T = Range(zone).Value
End Sub

Cette Sub converti une plage de données (Range(zone)) en une variable tableau (T).

Mais si tu n'as qu'une cellule dans ton Range(zone), ça va aussi bugguer.
Que faire alors?
Voir ICI
Private Function faire_tableau(plage As Range) 
 If plage.Cells.Count < 2 Then 
    Dim tabli(1 To 1, 1 To 1) 
    tabli(1, 1) = plage.Value 
    faire_tableau = tabli 
    Erase tabli 
  Else 
    faire_tableau = plage.Value 
  End If 
End Function


Avant, j'arrivais jamais à finir mes phrases... mais maintenant je
Utilisateur anonyme
Bonjour pijaku, comment ça va ? Je viens de voir ton message. Pour demain,
je te souhaite de passer de bonnes fêtes du 14 Juillet ! J'espère que tu auras
chez toi de beaux feux d'artifices ! Cordialement.  😊

Bonjour metal1106,

Le nom de ta sub est « Charger_Tab » pour « Charger_Tableau ».

Lors de l'appel de cette sub, il faut obligatoirement lui transmettre
2 paramètres ; comme leur type n'est pas indiqué (avec As Type),
c'est donc le type Variant (implicite).

a) T : une variable destinée à contenir les données
b) zone : une variable indiquant la plage des données à charger

L'instruction T = Range(zone) charge donc les données de
la plage zone dans la variable T.

Si ton problème est réglé, merci d'aller en haut de page pour
cliquer sur « Marquer comme résolu ».

Cordialement.  😊
 
Merci beaucoup !