Dimensionnement Tableau

Fanoo

XLDnaute Nouveau
Bonjour à tous,

je souhaite récupérer les valeur de deux cellules d'une feuille différente pour dimensionner mon tableau hors avec mon code Visual Basic me renvoi une erreur l'indice n'appartient pas à la sélection ou alors quand je le déclare le tableau avec les valeurs de ces cellules directement l'erreur est 'constante requise' dans la déclaration du tableau je ne comprend pas pourquoi??
Merci d'avance de me lire et me répondre!!

Sub encadrer_tableau()

Dim i As Integer
Dim j As Integer
Dim cellule As Range
Dim VarTabLigne As Integer
Dim VarTabColonne As Integer
Dim VarTab() As String

VarTabLigne = Worksheets("Feuill2").Range("H6").Value
VarTabColonne = Worksheets("Feuill2").Range("H7").Value

ReDim VarTab(1 To VarTabLigne, 1 To VarTabColonne)

For i = 1 To UBound(VarTab, 1)
For j = 1 To UBound(VarTab, 2)
VarTab(i, j) = Chr(Int((26 * Rnd) + 1) + 64)
Debug.Print VarTab(i, j)
Next j
Next i

Range("B3").Resize(UBound(VarTab, 1), UBound(VarTab, 2)).Value = VarTab

For Each cellule In Range("B3", Range("B3").End(xlToRight).End(xlDown))
If cellule.Value <> "" Then cellule.Borders.Weight = xlThin
Next

End Sub
 

Robert

XLDnaute Barbatruc
Repose en paix
Re : Dimensionnement Tableau

Bonjour le fil, bonjour le forum,

Il semblerait que tu aies des ailes en trop...
VarTabLigne = Worksheets("Feuill2").Range("H6").Value)
VarTabColonne = Worksheets("Feuill2").Range("H7").Value)
Essaie comme ça :
Code:
VarTabLigne = Worksheets("Feuil2").Range("H6").Value
VarTabColonne = Worksheets("Feuil2").Range("H7").Value
 

Fanoo

XLDnaute Nouveau
Re : Dimensionnement Tableau

Merci pour l'aide!(oups pour les ailes en trop...).
La compilation en mode debug fonctionne bien ms lorsque je lance le programme Excel plante et je ne comprend pas pourquoi. Je ne sais pas si c'est un problème de mémoire ou de remplissage pourtant mon tableau n'est pas tres grand..
Si quelqu'un as une idée???
Sub encadrer_tableau()

Dim i As Integer
Dim j As Integer
Dim cellule As Range
Dim VarTabLigne As Integer
Dim VarTabColonne As Integer
Dim VarTab() As String

VarTabLigne = Worksheets("Feuil2").Range("H6").Value
VarTabColonne = Worksheets("Feuil2").Range("H7").Value

ReDim VarTab(VarTabLigne, VarTabColonne)

For i = 1 To UBound(VarTab, 1)
For j = 1 To UBound(VarTab, 2)
VarTab(i, j) = Chr(Int((26 * Rnd) + 1) + 64)
Debug.Print VarTab(i, j)
Next j
Next i

Range("B3").Resize(UBound(VarTab, 1), UBound(VarTab, 2)).Value = VarTab

For Each cellule In Range("B3", Range("B3").End(xlToRight).End(xlDown))
If cellule.Value <> "" Then cellule.Borders.Weight = xlThin
Next

End Sub
 

Robert

XLDnaute Barbatruc
Repose en paix
Re : Dimensionnement Tableau

Bonjour le fil, bonjour le forum,

Peut-être comme ça :
Code:
Sub encadrer_tableau()Dim i As Integer
Dim j As Integer
Dim cellule As Range
Dim VarTabLigne As Integer
Dim VarTabColonne As Integer
Dim VarTab() As String


VarTabLigne = Worksheets("Feuil2").Range("H6").Value
VarTabColonne = Worksheets("Feuil2").Range("H7").Value
ReDim VarTab(VarTabLigne, VarTabColonne)
For i = 1 To UBound(VarTab, 1)
    For j = 1 To UBound(VarTab, 2)
        VarTab(i, j) = Chr(Int((26 * Rnd) + 1) + 64)
    Next j
Next i
For i = 1 To UBound(VarTab, 1)
    For j = 1 To UBound(VarTab, 2)
        Range("B3").Resize(UBound(VarTab, 1), UBound(VarTab, 2)).Cells(i, j).Value = VarTab(i, j)
    Next j
Next i
For Each cellule In Range("B3", Range("B3").End(xlToRight).End(xlDown))
If cellule.Value <> "" Then cellule.Borders.Weight = xlThin
Next
End Sub

Pense à mettre un fichier en pièce jointe pour les prochaines fois...
 

Fanoo

XLDnaute Nouveau
Re : Dimensionnement Tableau

Merci robert ça fonctionne bien!
Mais je ne comprend pas vraiment pourquoi mon code ne marchait pas car lorsque je redéfinis ma plage je lui envoi toutes les données contenues dans VarTab:

Range("B3").Resize(UBound(VarTab, 1), UBound(VarTab, 2)).Value = VarTab

On est vraiment obligé de passer par une boucle??
C'est juste pour mieux comprendre mon erreur..

En tout cas encore merci beaucoup pour ton aide!!
 

Discussions similaires

Réponses
11
Affichages
336

Statistiques des forums

Discussions
312 392
Messages
2 088 004
Membres
103 695
dernier inscrit
acimi