XL 2010 option base 1

herve62

XLDnaute Barbatruc
Supporter XLD
Bonsoir
J'ai voulu tester option base 1 pour un tableau à 2 dim T(x,y)
mais dans n'importe quel fichier > erreur de compilation , instruction incorrecte ??
j'ai bien regardé chez notre ami JB ( pas évident avec les vieux 'marque pages' devenu obsolètes !!) mais j'ai rien trouvé
je mets bien en 1ère ligne comme le dit MS !
J'aimerai une explication ou un lien explicite .... même en anglais
Merci
 

herve62

XLDnaute Barbatruc
Supporter XLD
Donc c'est obligé pour tout le module ?
On peut pas faire une sub avec et une autre sans ?
J'ai JAMAIS utilisé !!! là c'est pour un test
Mon fichier d'essai ne fonctionne plus ? j'ai bien eu tous mes rectangles avant certainement autre chose ?
 

Pièces jointes

  • test_shape2.xlsm
    19.7 KB · Affichages: 9
Dernière édition:

herve62

XLDnaute Barbatruc
Supporter XLD
Oui je vois ! puisque de toute façon si on a besoin de 4 items on laisse T(4) et à la rigueur on peut utiliser de 0 à 4 donc un tableau de 5 items sans intérêt !!
Sinon de ce fait une idée qui fait que ?? à 19h quand j'ai fermé mon fichier c'était Ok ????
c'est pour ajouter des formes
 

patricktoulon

XLDnaute Barbatruc
re
bonjour à tous
je ne vois pas trop l'utilité de reconstruire un tableau dans une double boucle
sur la base d'une plage
d'autant plus que ce tableau est de 4 ligne et 5 colonnes et non 4
en prenant le range.value on obtient toujours une variable tableau en base 1
donc pour faire simple
les shapes sont nommées avec le nom en colonne "A"

VB:
Sub Adshape()
    Dim TSH
    Dim shap As Shape

    TSH = Feuil2.[A1:E4].Value

    For k = 1 To 4    '
        Set shap = Sheets("feuil1").Shapes.AddShape(msoShapeRectangle, TSH(k, 2), TSH(k, 3), TSH(k, 4), TSH(k, 5))
        shap.Name = TSH(k, 1)
    Next k

End Sub
je pense que le résultat attendu est celui ci
demo.gif
 

herve62

XLDnaute Barbatruc
Supporter XLD
Bonjour
Oui c'est ça mais je n'utilise pas le nom en A et je ne savais pas qu'une variable plage était assimilable à un tableau !! , bon à savoir ; Mais je cuisine toujours à l'ancienne et je ne suis plus à écrire 10 lignes de + !!!!!!
Au fait si je les efface ( supprimer) comment faire pour que la numérotation n'arrive pas à par exemple : Rectangle9999
Je me rappelle qu'avec les graphiques on pouvait faire style :
ActiveSheet.ChartObjects(ActiveChart.Parent.Name).Name = "rect_1"