Correction de code VBA

abtony

XLDnaute Impliqué
Bonsoir a tous, forum,

Je poste ce code qui remplie bien sa fonction, mais je souhaiterais savoir par quoi remplacer ApplicationIndex ?
Ou alors une explications sur ce code.

Ce code copie le contenus d'une listbox en une seule ligne de plusieurs colonnes, les données afficher dans la listbox existent déjà a partir de la colonne J et dernière colonne remplie.

Je souhaite copier le contenu de cette listbox a la ligne suivante de la feuille a partir de la colonne J jusqu'a la dernière colonne de donnée.

VB:
 t = ListBox5.List
j = 10
For I = 1 To UBound(t, 1)
    Cells(1, j).Resize(1, UBound(t, 2) + 1) = Application.Index(t, I)
    j = j + UBound(t, 2) + 1
Next

ce code a été réaliser par Kjin, merci a lui

Merci d'avance pour votre contribution

Abtony
 

Theze

XLDnaute Occasionnel
Re : Correction de code VBA

Bonsoir,

"Application.Index" est le raccourci de "Application.WorksheetFunction.Index" donc de la fonction INDEX d'Excel. Si tu veux inscrire sur les lignes suivantes, agit sur Cells(Ligne, Colonne).Resize

Hervé.
 

abtony

XLDnaute Impliqué
Re : Correction de code VBA

Bonsoir a tout, Theze,

merci pour ta réponse, j'ai essayer mais ca fonctionne pas.

j'ai donc mis ca, mais pas très rapide comme solution.

VB:
Cells(Lg, 10).Range("A1:AAA1").Select
    Selection.Copy
    If Cells(Lg + 1, 1) = "" Then
 MsgBox "Aucun ouvrage sur cette ligne"
  'Cells(Lg + 2, 10).Range("A1").Select
  Exit Sub
Else
    Cells(Lg + 1, 10).Range("A1").Select
    Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
        False, Transpose:=False
    Application.CutCopyMode = False
    Cells(Lg + 1, 10).Range("A1").Select
    End If

si on peut amélioré ce code, ça serais pas mal.

Merci

Abtony
 

abtony

XLDnaute Impliqué
Re : Correction de code VBA

Bonjour Kjin,

Sur le fil initial, j'ai pu trouver une solution.

Sur ce fil le code du post 3, me sert à dupliquer les articles quand les ouvrages sont similaires, seul les quantités et prix changent

Ça évite ainsi la saisi de tous les articles.

Je retourne donc sur le fil principal

Merci Kjin

Abtony
 

kjin

XLDnaute Barbatruc
Re : Correction de code VBA

Bonsoir,
J'ai omis d'expliquer le code
Code:
'on transfert les valeurs de la listbox dans le tableau t
t = ListBox5.List 
j = 10
 'on boucle de la première à la dernière ligne du tableau t (dimension 1)
For i = 1 To UBound(t, 1)
    'on redimensionne la plage d'accueil depuis la colonne 10 et on y transfert les valeurs de la ligne i du tableau 
    Cells(1, j).Resize(1, UBound(t, 2) + 1) = Application.Index(t, i)
    'on décale la cellule d'accueil suivante en ajoutant le nb de colonnes du tableau (dimension2) + 1 
    j = j + UBound(t, 2) + 1
Next
Voili
Pour le reste, Rdv ICI
A+
kjin
 

Discussions similaires

Statistiques des forums

Discussions
312 859
Messages
2 092 879
Membres
105 548
dernier inscrit
bestitou