[vba]Erreur d'execution 1004

  • Initiateur de la discussion Initiateur de la discussion tik
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

T

tik

Guest
bonjour,

ma macro plante sur cette ligne, sans que je comprenne pourquoi:
Code:
Sheets("ADV Powa").Range("B3").Resize(UBound(Tablo, 1), UBound(Tablo, 2)).Value = Tablo

Merci 🙂
 
Re : [vba]Erreur d'execution 1004

bonjour,

Roland🙂, Pierre-Jean🙂 (ravi de vous croiser)

@tik: si tu ne veux pas perdre une colonne sur la deuxième dimension (0 to 1960) :
Resize(UBound(tablo, 1), UBound(tablo, 2) + 1).Value

Ceci chez moi(xl 2010), fonctionne:
Code:
   Dim i As Integer, j As Integer
    Dim tablo(1 To 8, 0 To 1960)
    For i = 1 To 8
        For j = 0 To 1960
            tablo(i, j) = CStr(i) & "|" & CStr(j)
        Next
    Next
    Range("A1").Resize(UBound(tablo, 1), UBound(tablo, 2) + 1).Value = tablo

A+
 
Re : [vba]Erreur d'execution 1004

bonjour,

Roland🙂, Pierre-Jean🙂 (ravi de vous croiser)

@tik: si tu ne veux pas perdre une colonne sur la deuxième dimension (0 to 1960) :
Resize(UBound(tablo, 1), UBound(tablo, 2) + 1).Value

Ceci chez moi(xl 2010), fonctionne:
Code:
   Dim i As Integer, j As Integer
    Dim tablo(1 To 8, 0 To 1960)
    For i = 1 To 8
        For j = 0 To 1960
            tablo(i, j) = CStr(i) & "|" & CStr(j)
        Next
    Next
    Range("A1").Resize(UBound(tablo, 1), UBound(tablo, 2) + 1).Value = tablo

A+

j'ai déjà essayé avant de poster 🙁
 
Re : [vba]Erreur d'execution 1004

Re,

Alors pourquoi dans ton post #1 tu as Ubound(Tablo,2) et non pas Ubound(Tablo,2)+1

Je viens de voir en remontant le fil que tu as joins un fichier.
Je n'ai pas eu d'erreur sur :
Code:
Sheets("ADV Powa").Range("B3").Resize(UBound(Tablo, 1), UBound(Tablo, 2)).Value = Tablo

Par contre les SELECT dans les boucle ralentisse le fonctionnement de ta macro.
Il vaut mieux référencer les celules dans des variables plutôt que les selectionner.
Ta feuille de calcul est un tableau indicé de 1,1 pour A1 à 1048576,16384 pour la cellule XFD1048576

Code:
Dim C as range
Set C = Range("a" & i)
'Ou 
Set C = Cells(i,1) ' ligne i colonne 1)

Au lieu de
Code:
Range("a" & i).Select
A+
 
Dernière modification par un modérateur:
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
15
Affichages
795
Retour