Bouton suppression et tri combobox

Bonjour,

Merci beaucoup d'avoir pris le temps de me répondre. Désolé pour la mise en forme du code. Comme je l'ai précisé je ne maîtrise pas le code VBA donc si vous relevez un massacre dans ce qui a été présenté ne m'en veuillez pas. Pour le bouton supprimer j'ai une erreur à chaque test au niveau de la ligne Rows (B2:B65536). Je pense qu'il n'arrive pas à reconnaître la plage de cellule. Pour le code de la combobox1 où je veux que le tri se fasse, je n'ai pas essayé d'intégrer le code nécessaire. Je ne sais pas comment faire. Je vous envoie le fichier pour comprendre ma demande. C'est juste avoir la possibilité de supprimer une ligne par le biais du formulaire et avoir la liste triée par ordre alphabétique dans la combobox1 (recherche). Encore une fois merci pour votre aide

Cordialement

Private Sub BT_SUP_Click()
Sheets("BD").Unprotect Password:="u1wxr6"
Dim J As Long
If MsgBox("Confirmez-vous la suppression de ce contact ?", vbYesNo, "Demande de confirmation de suppression") = vbYes Then
    Rows([B2:B65536].Find(ComboBox1.Value).Row).EntireRow.Delete        'erreur à ce niveau'
    ComboBox1.Clear
    Set Ws = Sheets("BD")
    With Me.ComboBox1
    For J = 2 To Ws.Range("B" & Rows.Count).End(xlUp).Row
    .AddItem Ws.Range("B" & J)
Next J
End With
End If
        Sheets("BD").Protect "u1wxr6", AllowFiltering:=True
End Sub
Private Sub Combobox1_Change()            'pour ajouter un tri par ordre alphabétique'
Dim Ligne As Long
Dim i As Integer, J As Integer
Dim TB
    If Me.ComboBox1.ListIndex = -1 Then Exit Sub
    Ligne = Me.ComboBox1.ListIndex + 2
    For i = 1 To 17
        Me.Controls("TB" & i) = Ws.Cells(Ligne, i + 0)
    Next i
    J = 18
    For i = 1 To 3
        If Ws.Cells(Ligne, J) = True Then
            Me.Controls("CheckBox" & i).Value = True
        Else
            Me.Controls("CheckBox" & i).Value = False
        End If
        J = J + 1
    Next i

End Sub

Bonsoir,

Commence par mettre ton code sous balises Code, ça le rend plus lisible et ça conserve l'indentation, et ça fatigue moins les intervenants qui ont à le lire.

Ta ligne en erreur dans la première proc., rien d'étonnant ! Un vrai massacre au niveau de la syntaxe.

Quant à la seconde, tu parles de tri mais on ne voit aucune trace pouvant laisser penser à un tri...

On ne peut que s'interroger sur ce que tu fais et veux faire...

Cordialement.

Bonjour,

Merci pour tout. Désolé j'ai modifié la mise en forme du code et je vous ai envoyé un fichier pour plus de compréhension. Juste avoir la possibilité de supprimer une ligne par le biais du formulaire et avoir la liste triée qui s'affiche dans la combobox1 RECHERCHE. Merci par avance pour votre aide

Cordialement

Bonjour,

C'est bien d'avoir mis un fichier... mais avec des messages d'erreurs qui s'ouvrent dès qu'on bouge, ça n'incite guère à prolonger la visite !

Pour le bouton supprimer j'ai une erreur à chaque test au niveau de la ligne Rows (B2:B65536).

Comme en fait de ligne il s'agit d'une colonne... j'ai l'impression que tu te fais des croche-pieds.

Si je comprends le but de cette ligne : tu recherches avec Find une valeur sélectionnée dans la Combo, dans la colonne B, et l'ayant trouvée tu supprimes la ligne.

En raisonnant un peu : tu appliques la méthode Find à un objet Range constitué par la colonne B, laquelle te renvoie un objet Range, la cellule où se trouve la valeur cherchée, et il ne te reste plus qu'à renvoyer la ligne de cette cellule pour la supprimer.

    Columns("B").Find(ComboBox1.Value).EntireRow.Delete

En l'écrivant simplement, tel que décrit, ça aura une chance de fonctionner !

Ceci étant cette ligne ne me plaît qu'à moitié car Columns non raccordé à sa feuille parente constitue ce qu'on appelle une expression non qualifiée, qui présente quelques aléas (et ce n'est pas du bon code pour tout dire).

Mais tu as d'autres aléas en puissance : si la recherche n'aboutit pas, pas de cellule renvoyée et... erreur.

Il y a toujours intérêt à recueillir l'objet cherché avec Find dans une variable Range, et à la tester pour savoir si son contenu n'est pas Nothing avant de donner cours à la suite.

Pour le reste, je n'entends pas aller plus loin dans ton fichier, outre les désagréments que je n'ai aucune envie de prendre le temps d'éliminer pour pouvoir y circuler un peu plus aisément, il y a de nombreuses choses que je ne vais guère apprécier, et j'aurai un peu de mal dans un environnement qui ne me convient pas, construit sur des choix que je ne partage pas, à commencer par l'ouverture en non modal d'un Userform de saisie qui me paraît une hérésie complète...

Pour te donner tout de même une piste pour ton histoire de tri, si tu veux affecter à ta Combo une liste triée, le tri ne se fait évidemment pas dans la Combo ! Tu constitues ta liste, tu la tries, tu l'affectes une fois triée.

Je pense qu'avant de vouloir manipuler les fenêtres au moyen d'API il est souhaitable de maîtriser un peu mieux les bases...

Cordialement.

Bonjour,

Merci d'avoir pris le temps de jeter un coup d’œil. Bonne continuation

Cordialement

bonjour

salut au passage MFerrand

pourquoi créer (par VBA par autre méthode) des fonctions déjà présentes dans Excel ?

"supprimer" une ligne

"créer" une ligne

etc.

amitiés

Bonjour,

Merci pour votre réponse. L'idée est de passer par un formulaire de saisie. Les utilisateurs n'auront pas accès à la base de données donc n'auront pas la possibilité de faire appel aux fonctions d'Excel. Merci encore pour votre réponse

Cordialement

re

Excel n'est pas un logiciel bien protégé

on peut bricoler pour améliorer la protection, mais c'est comme ajouter un blindage sur ta voiture : tu vas te heurter à des problèmes de multiples détails !

essaye un SGBD (ça va faire réagir les amoureux d'Excel) comme Access ou OOO Base.

à te relire

Bonjour,

Peut être que vous avez raison. Je n'ai pas les compétences nécessaires pour me prononcer sur ce genre de choix. En plus pour passer exemple sur Access il faut maîtriser au moins la base (création de tables, définir les propriétés, ...) ce qui n'est pas mon cas...En tout cas merci pour tout et bonne continuation

Rechercher des sujets similaires à "bouton suppression tri combobox"