Deplacement avec souris

Bonjour X Cellus
je suis vraiment désolé, mais c'est un fichier qui me tiens à coeur
ci-joint une version qui fonctionne si on décale d'une ligne le tableau comme dans la feuille BD
mais ne se restructure pas après échange entre listview!!! ou est ce que ca cloche!!!! je n'ai pas encore trouvé
merci pour l'aide

Bonjour Iliyes,

mon grand soucis est le suivant.

y a t il un moyen d'ajouter une colonne ( bien sur identique dans les 2 tableaux sans touché à la macro ( One(4) qui deviendra One(DerCol))???

Non, car le 4 inscris entre parenthèses est une constante. Et donc nullement une variable comme DerCol.

Mais on peut zapper One()

Donc voici une version d'initialisation plus automatisée, n'ayant pas besoin d'une ligne de code headers spécifique.

'  Dimensionnement des Tableaux
    Dim headers As String, C, L, DerLig, DerCol As Integer
    'Par tableau structuré
    DerLig = Range("Tableau1").ListObject.ListRows.Count
    DerCol = Range("Tableau1").ListObject.ListColumns.Count

    'Nom des En-têtes des colonnes
    For Each Cel In Range("Tableau1[#Headers]")
    If Cel.Column < DerCol Then headers = headers & "," & Cel.Value & "," & CInt(Cel.Width) & ",0" & vbNewLine Else _
    headers = headers & "," & Cel.Value & "," & CInt(Cel.Width) & ",0"
    Next

    'Mise en forme colonnes et dimensions
    Call setLvHeaders(ListView1, headers, vbNewLine, ",")
    Call setLvHeaders(ListView2, headers, vbNewLine, ",")

suite,

je suis vraiment désolé, mais c'est un fichier qui me tiens à coeur

Je télécharge ton dernier fichier mais je ne peux être présent à longueur de journée sur le site. Week-end en plus.

Ni être sur une demande à la fois.

Je regarderais selon disponibilité.

re

je comprend normalement et je te remercie d'avance pour tous ce que tu fait

a vous relire

Suite,

Code de ce jour à 15h03 simplifié.

Voir précédemment, modifications et l'abandon de la constante One().

re - bonjour

malheureusement cane fonctionne pas!!!

a vous relire

Suite,

Cela fonctionne bien !!! pour les tableaux placés en A1. Tels que présentés dans mon exemple.

Ne pas l'utilisez pour ton dernier fichier. Je l'ai téléchargé mais pas encore regardé.

Bonjour X Cellus
ben, effectivement ca fonctionne quand c'est en A1.
j'attend la nouvelle version, avec la possibilité de déplacer les tableaux et apres je te solliciterais pour le deplacement "MoveUp" et "MoveDown".
Bon journée
a vous relire

Bonsoir Iliyes,

Je te rappelle ton besoin.

y a t il un moyen de faire un déplacement de de ligne ou d'informations d'un listbox ( ou lisview) à un autre avec seulement la souris

Voilà j'ai adapté aux tableaux structurés quelque soit l'emplacement de ceux-ci. Seule contrainte que les deux aient bien sur le même nombre de colonnes.

apres je te solliciterais pour le deplacement "MoveUp" et "MoveDown".

Pour cela il faudra ouvrir un autre sujet car ce n'était pas la demande initiale.

Bonjour X Cellus

que puis-je dire, c'est grandiose, c'est sublime.... merci beaucoup.

pour le suite j'ouvrirais un autre post

merciiiiiiiiiiiiiiiiiiiiiiiiiiiiii

re X Cellus

malgre la cloture du post, je remarque un bug

qui est:

si on ouvre le userform avec une list vide, la structure du tableau ne se fait pas!!!! malheureusement

pourrais-je encore vous soliciter??? X Cellus

A nouveau,

Seule contrainte que les deux aient bien sur le même nombre de colonnes.

Est ce qu'un tableau structuré est une ligne vide ? A ton avis ?

Si tu ne précises pas les en-têtes ce n'est pas un tableau.

A partir du moment ou les en-têtes sont créées.

Même s'il y a une première ligne vide les ListView auront leur en-tête.

Je l'ai vérifié bien avant de poster le fichier.

re

Voila ce quej'ai fait.

j'ai ouvert le userform, via le drag and drop j'ai vidé le listview2 et remplie le1

jusque la c'est bon

j'ai ferme le userform puis re-ouvert.... donc impeccable

puis en essayant de remplir la listview 2 les données se positionnes à la ligne 2 en laissant la ligne 1 vide

puis quand je ferme et je re-ouvre, la liste 2 parrais vide !!!! j'espereque je me suis bien expliqué

a vous relire

Suite,

Normalement la fin du tableau structuré est repérable par un petit triangle vert sur la dernière cellule colonne de droite.

Je viens de refaire la manip. Il faut que j'ajoute un correction quand il reste une ligne de tableau mais que celle-ci est vide.

Car il considère qu'elle est quand même occupée comme le triangle vert est présent.

A voir demain.

Bonjour Iliyes,

En retour la correction.

Toute la ligne doit être renseignée pour être prise en compte comme ligne valide.

Il y a un test sur la première cellule de la dernière colonne sur chaque tableau.

Si celle-ci est vide, toute la ligne sera considérée comme vide.

Bonjour X Cellus

la ca fonctione trop bien et je te remercie

j'ouvrirais un autres post concernant ma demande du MoveUP et MoveDown

merciiiiiiiiiiiiiiiiiiiii

Bonjour X Cellus

avant tous j'espere que vous allez bien.

je me permet de re-editer le poste (je ne sait pas comment le rendre non resolut)

voici le probleme :

- j'ai du changer quelques petites choses et j'ai misen commentaire le pourquoi ( car j'ai mis les tableaux dans une meme feuille et j'ai changé le nom e la feuille our que ca fonctionne)

- je realise que, si la listitem a des double.... ben il y a un disfonctionnement! (en piece jointe le fichier)

aussi, je vous solicite, si c'est possible de m'envoyer la solution du MoveUP et MoveDOWN

je vous dit un grand merci pour tous

Bonjour Iliyes,

Ne jamais placer les tableaux structurés dans une même feuille. Même avec des noms de tableaux différents. Seuls les tableaux simples peuvent être sur une même feuille.

Les tableaux structurés sont toujours sur des feuilles différentes. Conseils Office (voir leurs docs).

A bientôt lorsque ouverture de l'autre sujet.

Ahhhhhhhh, je ne savait pas cela

j'ai juste ajouté, plutot modifié la ligne

 If Cells(LinT1, C) = "" Then Exit For

en

 If Range("Tableau1").Cells(LinT1, C) = "" Then Exit For

et

 If Cells(LinT1, C) = "" Then Exit For

en

 If Range("Tableau2").Cells(LinT1, C) = "" Then Exit For

et ca fonctionne!!! mais le probleme de la listitem , si il y a des double ca cree des probleme

( j'ouvrirais le post MoveUP et MoveDOWS des arrangement de ce probleme, je cherche depuis ce matin, mais pas de solutions jusqu'a ce moment)

A nouveau,

Placer ces quelques lignes VBA dans la partie code de chaque feuille comportant un tableau. Ici pour la 2ième feuille DB

Private Sub Worksheet_Change(ByVal Target As Range)
'Exemple pour la feuille DB avec tableau 2
For i = 1 To Sheets("BD").Range("Tableau1[Num]").Count
On Error resume Next
If Sheets("BD").Range("Tableau1[Num]").Item(i) = Target Then MsgBox "Erreur Num " & Target & " en doublon "
Next i
End Sub

Même principe pour la 1ière feuille (BD) mais changer le nom d'onglet et du tableau dans le code.

Ainsi tu n'auras pas deux mêmes numéros (colonne NUM) de Liste.

Rechercher des sujets similaires à "deplacement souris"