Insertion de ligne decalage de choix de liste combobox

Patty5046

c exactement ca et comme tu dis dur dur

mais ont tien le bon bout juste "global " qui débogue en colonne O après l avoir copier coller en colonne N ça marche

alors question es que ma plage de listbox et juste en colonne N ??

en gros j ai une 100 aine de colonnes donc 100 listbox la plage pour toute c listbox devra etre CT5: CZ42 (largeur hauteur de mon ecran)

Bonsoir

pour global je m'étais effectivement trompé.

Par contre je pense que l'on peut prendre sans problème la colonne N et la colonne O il suffit de le programmer, et de trier pour la facilité de lecture

Par contre si je comprends bien , toutes les données qui se trouvent en colonnes cachées vont passer en colonnes CT à CZ.

C'est important de savoir où elles seront pour la programmation. Car si tu les laisses avant N, cela ne fonctionnera pas correctement

D'autre part CT à CZ, tu n'as que 7 colonnes ...??? Or, il semblerait que tu parles de 100, donc, je verrais plutôt de AA à DV

Les colonnes C à G devront disparaître

Est-ce bien cela ??

Auquel cas tu peux d'ailleurs passer les éléments colonne N en Colonne A ???

Tu me fais souffrir!!

Et un dimanche!!!

Bonne soirée

J'attends de savoir si l'on s'est compris pour m'y remettre....

Patty5046

desole pour la souffrance

1) de la colonne A a CS c est pour les 100 colonnes cachées

2)

donc 100 listbox la plage pour toute c listbox devra etre CT5: CZ42

de CT à CZ c est pour les 100 boutons listbox (ce qui correspond a fers, fruits, motos et voitures la colonne N en ce moment)

ton calvaire arrive au bout je vais te laisser la semaine pour te reposer

ps: marque moi stp ou tu fais la modif a coter du code que je comprenne mieux en vert ( ' modif )

Re

Voici le même fichier avec des explications sur plusieurs lignes de code

Je t'aiderai de nouveau sans problème quand je me serai "nettoyé' la tête...

Tu as déjà des bases.

Eventuellement, renvoie-moi ton fichier quand tu auras commencé à le mettre en place

Bonne soirée.

A bientôt

salut a tous

comment rajouter 2 colonnes 100 = CV , 101 = CW dans ce code

Private Sub Worksheet_BeforeDoubleClick(ByVal target As Range, Cancel As Boolean)
    lg = target.Row 'récupère la ligne du clic
    With Feuil1.Rows("2") 'recherche ligne 2 du contenu de la cellule cliquée
        Set Rng = .Find(Cells(lg, 99).Value, LookIn:=xlFormulas) 'colonne 99=CU,100=CV,101=CW

        If Not Rng Is Nothing Then
            Col = Rng.Column 'récupère la colonne où se trouve l'info
            SAISIE (Col)
            Exit Sub

        End If
    End With
    MsgBox "Elément non trouvé"
End Sub

faut il modifier autre chose ?

merci

Bonjour

Private Sub Worksheet_BeforeDoubleClick(ByVal target As Range, Cancel As Boolean)
    lg = target.Row 'récupère la ligne du clic
    With Feuil1.Rows("2") 'recherche ligne 2 du contenu de la cellule cliquée
        Set Rng = .Find(Cells(lg, 101).Value, LookIn:=xlFormulas) 'colonne 99=CU,100=CV,101=CW

        If Not Rng Is Nothing Then
            Col = Rng.Column 'récupère la colonne où se trouve l'info
            SAISIE (Col)
            Exit Sub

        End If
    End With
    MsgBox "Elément non trouvé"
End Sub

Mettre 101 au lieu de 99 ??

Bye

salut Patty5046

si je met 101 ya que la colonne 101 qui marche

moi je veux que 99 ,100 et 101 marche

je veux pas changer la colonne je veux rajouter 2 en plus

comment rajouter 2 colonnes 100 = CV , 101 = CW dans ce code

en + de 99

a +

Bonjour

Est-ce que cela te conviendrait ??

Un peu lourd ?? mais cela devrait marcher

Si tu ne trouves pas en 99, recherche en 100 puis en 101.

Dès que tu trouves , tu sors...

Private Sub Worksheet_BeforeDoubleClick(ByVal target As Range, Cancel As Boolean)
    lg = target.Row 'récupère la ligne du clic
    With Feuil1.Rows("2") 'recherche ligne 2 du contenu de la cellule cliquée
        Set rng = .Find(Cells(lg, 99).Value, LookIn:=xlFormulas) 'colonne 99=CU,100=CV,101=CW
        If Not rng Is Nothing Then
            Col = rng.Column 'récupère la colonne où se trouve l'info
            SAISIE (Col)
            Exit Sub
        End If
    End With
    With Feuil1.Rows("2") 'recherche ligne 2 du contenu de la cellule cliquée
        Set rng = .Find(Cells(lg, 100).Value, LookIn:=xlFormulas) 'colonne 99=CU,100=CV,101=CW
        If Not rng Is Nothing Then
            Col = rng.Column 'récupère la colonne où se trouve l'info
            SAISIE (Col)
            Exit Sub
        End If
    End With
    With Feuil1.Rows("2") 'recherche ligne 2 du contenu de la cellule cliquée
        Set rng = .Find(Cells(lg, 101).Value, LookIn:=xlFormulas) 'colonne 99=CU,100=CV,101=CW
        If Not rng Is Nothing Then
            Col = rng.Column 'récupère la colonne où se trouve l'info
            SAISIE (Col)
            Exit Sub
        End If
    End With
    MsgBox "Elément non trouvé"
End Sub

A voir

Bye

Bonjour toutes et tous

@Patty coucou

ce sont les 3 exit sub qui me font peur, j'avais pensé à cela comme toi , par contre j'ai essayé mais la feuil1 n'existe pas là je pige pas,

Private Sub Worksheet_BeforeDoubleClick(ByVal target As Range, Cancel As Boolean)
    lg = target.Row 'récupère la ligne du clic
    With Feuil1.Rows("2") 'recherche ligne 2 du contenu de la cellule cliquée
        Set Rng = .Find(Cells(lg, 101).Value, LookIn:=xlFormulas) 'colonne 99=CU,100=CV,101=CW

        If Not Rng Is Nothing Then
            Col = Rng.Column 'récupère la colonne où se trouve l'info
            SAISIE (Col)
          '  Exit Sub
           MsgBox "Elément non trouvé 101"
        End If
    End With

    With Feuil1.Rows("2") 'recherche ligne 2 du contenu de la cellule cliquée
        Set Rng = .Find(Cells(lg, 99).Value, LookIn:=xlFormulas) 'colonne 99=CU,100=CV,101=CW

        If Not Rng Is Nothing Then
            Col = Rng.Column 'récupère la colonne où se trouve l'info
            SAISIE (Col)
          '  Exit Sub
               MsgBox "Elément non trouvé 99"
        End If
    End With

    With Feuil1.Rows("2") 'recherche ligne 2 du contenu de la cellule cliquée
        Set Rng = .Find(Cells(lg, 100).Value, LookIn:=xlFormulas) 'colonne 99=CU,100=CV,101=CW

        If Not Rng Is Nothing Then
            Col = Rng.Column 'récupère la colonne où se trouve l'info
            SAISIE (Col)
           ' Exit Sub
             MsgBox "Elément non trouvé 100"
        End If
    End With
    MsgBox "Elément non trouvé!!!"
End Sub

crdlt,

André

salut Andre13

Patty5046

Eventuellement, renvoie-moi ton fichier quand tu auras commencé à le mettre en place

je dégrossi encore mon classeur et je te le met en ligne

j ai finalement réussi a faire le code avec l enregistreur de macro

ci-joint mon code

Option Explicit

Sub alphabetique_index()
'
' alphabetique_index Macro
'

'
    Range("CU5:CU33").Select
    Selection.Cut
    ActiveWindow.SmallScroll Down:=55
    Range("CV63").Select
    ActiveSheet.Paste
    ActiveWindow.SmallScroll Down:=-65
    Range("CV4:CV33").Select
    Selection.Cut
    ActiveWindow.SmallScroll Down:=80
    Range("CV92").Select
    ActiveSheet.Paste
    ActiveWindow.SmallScroll Down:=-90
    Range("CW4:CW33").Select
    Selection.Cut
    ActiveWindow.SmallScroll Down:=110
    Range("CV122").Select
    ActiveSheet.Paste
    ActiveWorkbook.Worksheets("index").Sort.SortFields.Clear
    ActiveWorkbook.Worksheets("index").Sort.SortFields.Add Key:=Range("CV122"), _
        SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
    With ActiveWorkbook.Worksheets("index").Sort
        .SetRange Range("CV122:CV151")
        .Header = xlNo
        .MatchCase = False
        .Orientation = xlTopToBottom
        .SortMethod = xlPinYin
        .Apply
    End With
    ActiveWindow.SmallScroll Down:=-140
    ActiveWindow.SmallScroll Down:=-80
    Range("CV63").Select
    ActiveWindow.SmallScroll Down:=80
    Range("CV63:CV151").Select
    ActiveWorkbook.Worksheets("index").Sort.SortFields.Clear
    ActiveWorkbook.Worksheets("index").Sort.SortFields.Add Key:=Range("CV63"), _
        SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
    With ActiveWorkbook.Worksheets("index").Sort
        .SetRange Range("CV64:CV151")
        .Header = xlNo
        .MatchCase = False
        .Orientation = xlTopToBottom
        .SortMethod = xlPinYin
        .Apply
    End With
    ActiveWindow.SmallScroll Down:=15
    Range("CW77").Select
    ActiveWindow.SmallScroll Down:=-10
    Range("CV63:CV91").Select
    Selection.Cut
    ActiveWindow.SmallScroll Down:=-85
    Range("CU5").Select
    ActiveSheet.Paste
    ActiveWindow.SmallScroll Down:=85
    Range("CV92:CV121").Select
    Selection.Cut
    ActiveWindow.SmallScroll Down:=-120
    Range("CV4").Select
    ActiveSheet.Paste
    ActiveWindow.SmallScroll Down:=115
    Range("CV122:CV151").Select
    Selection.Cut
    ActiveWindow.ScrollRow = 122
    ActiveWindow.ScrollRow = 121
    ActiveWindow.ScrollRow = 118
    ActiveWindow.ScrollRow = 114
    ActiveWindow.ScrollRow = 89
    ActiveWindow.ScrollRow = 68
    ActiveWindow.ScrollRow = 46
    ActiveWindow.ScrollRow = 33
    ActiveWindow.ScrollRow = 30
    ActiveWindow.ScrollRow = 26
    ActiveWindow.ScrollRow = 24
    ActiveWindow.ScrollRow = 23
    ActiveWindow.ScrollRow = 22
    ActiveWindow.ScrollRow = 21
    ActiveWindow.ScrollRow = 17
    ActiveWindow.ScrollRow = 16
    ActiveWindow.ScrollRow = 15
    ActiveWindow.ScrollRow = 14
    ActiveWindow.ScrollRow = 13
    ActiveWindow.ScrollRow = 12
    ActiveWindow.ScrollRow = 4
    Range("CW4").Select
    ActiveSheet.Paste
    Range("CX18").Select
End Sub

merci et @+

Bonsoir à tous les 2

@exelan:

Oh, que ce code enregistré n'est pas beau.

J'en connais un, s'il passe par là, il va exploser

L'enregistrement macro aide à dégrossir pour comprendre, mais après, il faut essayer de le reprendre

@André

If Not Rng Is Nothing Then
            Col = Rng.Column 'récupère la colonne où se trouve l'info
            SAISIE (Col)
          '  Exit Sub
           MsgBox "Elément non trouvé 101"
        End If

Non, là quand tu fais cela :

If Not Rng Is Nothing

C'est que tu as trouvé l'info, donc pas de message d'erreur et c'est pour cela que je sors, après s'il faut chercher ailleurs en plus effectivement on ne sort pas de la procédure

Quant à Feuil1, effectivement , il faut mettre je crois Index dans son cas, mais c'est parce que j'avais repris le bout de code qu'il m'a mis quand il a demandé pour ses autres colonnes...

Bonne soirée à vous

Salut Patty !

J'en connais un, s'il passe par là, il va exploser

Honnêtement, je me suis demandé comment vous faisiez pour supporter aussi longtemps de travailler sur un tel code...

Bonne soirée ! (mon conseil du soir : détends-toi avec autre chose !)

MFerrand bonsoir

Patty5046

Membre dévoué

Bonsoir à tous ...

Bonsoir MFerrand

Tu t'es reconnu ??? LOL

J'espère entre autres qu'il va virer tous ses scrollbar inutiles ...

Bon courage à tous

On va bientôt se détendre avec l'apéro ....!!!! OUF

Bye

moi aussi j attend l apero

suis très bon dans ce domaine peut être ça va m aider pour le vba

On va bientôt se détendre avec l'apéro ....!!!! OUF

C'est fait, en retard pour le punch en ce qui me concerne mais avec le décalage horaire...

salut a tous

Patty5046 voila mon classeur en etat de marche pour modification ou correction

le classeur marche bien comme ca le 1) et le 2) c est juste pour plus de confort

les codes sont brut a peaufiner apres les modifs

1)

dans la partie Index si je rajoute en CU8 "test"

je voudrais remplir automatiquement dans la partie Saisie en C8 et en M2 ,la prochaine saisie en CU9,C9,N2 ect ect

(si c possible renommer aussi l onglet de la feuille et la cellule 2, a la suite du dernier rentrer dans la liste "Global")

ainsi de suite a chaque nouvelle saisie

2)

dans la partie Index si je clic sur le bouton "alphabetique Index" 3 fonctions a),b),c) (dans la mesure ou l etape "1)" marche)

a) je voudrais classer alphabetiquement les 3 colonnes CU,CV,CW de A a Z (et pas chaque colonne de A a Z)

les cellules CU4 "I"et CU5 "Divers" restent a leur place

b) dans la partie Saisie pour les colonnes C,E,G (idem que Index) ou copier les colonnes Index une fois classees

c) dans la partie Saisie colonnes K a CT classement alphabetique de A a Z de gauche a droite

dans la partie Saisie supprimer le bouton "alphabetique Saisie"

ci-joint fichier "index test"

9index-test.xlsm (246.22 Ko)

merci

Rechercher des sujets similaires à "insertion ligne decalage choix liste combobox"