Supprimer une ligne avec cellule de choix

Résolu
medbo Messages postés 570 Statut Membre -  
medbo Messages postés 570 Statut Membre -
Bonjour,

je viens de me lancer en VBA Excel, et je ne trouve pas de solution à mon problème

je voudrai après avoir choisi une entrée dans un "combobox" supprimer la ligne auquelle appartient la cellule contenant le choix effectué dans "combobox"

Merci pour votre aide
--
c'est en s'entre-aidons que nous réussirons
Configuration: Linux
Firefox 2.0.0.13

11 réponses

  1. pijaku Messages postés 13513 Date d'inscription   Statut Modérateur Dernière intervention   2 773
     
    Salut,
    essaie ceci (merci michel_m!!!)

    valeur = ComboBox1
    lig = Columns(1).Find(valeur, Range("A65536")).Row 'si ta valeur est en colonne A si en B : Columns(2) si en C : Columns(3) etc...
    Rows(lig).Select
    Selection.Delete Shift:=xlUp
    0
    1. medbo Messages postés 570 Statut Membre 29
       
      Ça ne marche pas
      0
  2. medbo Messages postés 570 Statut Membre 29
     
    la valeur choisi dans le combobox doit être rechérché dans la feuil Entrées puis supprimer la ligne correspondante, voici le code que j'ai rentré :

    Private Sub UserForm_Click()
    valeur = ComboBox1
    lig = Worksheets("Entrées").Columns(1).Find(valeur, Range("A65536")).Row
    Rows(lig).Select
    Selection.Delete Shift:=xlUp
    End Sub

    dites moi où est l'erreur
    0
  3. pijaku Messages postés 13513 Date d'inscription   Statut Modérateur Dernière intervention   2 773
     
    Salut,
    Il n'y a pas d'erreur apparente.
    Dans qu'elle colonne se trouve la valeur à rechercher?
    Si c'est colonne A : lig = Worksheets("Entrées").Columns(1).Find(valeur, Range("A65536")).Row
    colonne B : lig = Worksheets("Entrées").Columns(2).Find(valeur, Range("A65536")).Row
    colonne C : lig = Worksheets("Entrées").Columns(3).Find(valeur, Range("A65536")).Row
    et coetera...
    0
  4. michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 320
     
    Bonjour
    pat'quoi pijaku ;o)

    si colonne B
    lig = Worksheets("Entrées").Columns(2).Find(valeur, Range("B65536")).Row

    comme on est pas sûrs que la feuille active est la feuille "entées", pour ma part j'aurais écrit
    With Worksheets("Entrées")
    .rows(.Columns(2).Find(valeur, .Range("B65536")).Row ).delete
    end with
    ne pas oublier les points
    mais je n'ai pas testé

    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. pijaku Messages postés 13513 Date d'inscription   Statut Modérateur Dernière intervention   2 773
     
    Fectivement ai oublié modifier Range ..... Range("B65536")).Row au lieu de Range("A65536")).Row
    comme quoi 2 têtes valent mieux....
    0
  7. medbo Messages postés 570 Statut Membre 29
     
    Ça me supprime la ligne voulue mais aussi toutes les lignes se trouvant après elle et ce n'est pas ce que je veux. je veux celement supprimer la ligne voulu et garder toute les autres lignes, celle en dessu et celle en dessou
    0
  8. michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 320
     
    vachement poli ce post 8 pour ceux qui essayent de t'aider
    alors, dem... toi tout seul
    --
    0
    1. medbo Messages postés 570 Statut Membre 29
       
      Je suis désolé pour cette réponse, j'avoue que ce n'est pas gentille de ma part de ne pas dire aumoins merci, mais c'est que je me tire les cheuveux avec VBA, je ne suis pas un programmeur et j'éssaie d'apprendre et ça m'enerve un peux car j'en ai besoin et ça urge. Voila pourquoi.

      ce n'est pas mon intention d'être impoli.

      encore désolé et merci beaucoup pour tout ceux qui m'ont aider et ceux qui essaient de m'aider.
      0
  9. pijaku Messages postés 13513 Date d'inscription   Statut Modérateur Dernière intervention   2 773
     
    Salut,
    Le code (donné par michel_m) : lig = Worksheets("Entrées").Columns(2).Find(valeur, Range("B65536")).Row te renvoie le numéro de la ligne ou figure la valeur recherchée. Ok?
    Donc pour supprimer uniquement la ligne concerné, tu la sélectionnes :
    row(lig).select (ou un truc dans le genre...)
    et tu la supprime
    selection.delete (ou un truc dans le genre...)
    0
  10. michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 320
     
    bonjour,
    directement
    rows(lig).delete
    (toujours éviter les select-selection inutiles, ralentisseurs et bouffeurs de mémoire...)
    0
  11. pijaku Messages postés 13513 Date d'inscription   Statut Modérateur Dernière intervention   2 773
     
    exact.
    Merci pour lui.
    0
  12. medbo Messages postés 570 Statut Membre 29
     
    Merci beaucoup, c'est exactement ce que je cherchais. c'est très gentille de votre part

    encore désolé pour le post 8.
    0