BDD Excel : fonction recherche cellule puis suppression ligne complète

[Résolu]
Signaler
Messages postés
2
Date d'inscription
mardi 30 janvier 2007
Statut
Membre
Dernière intervention
7 février 2007
-
Messages postés
2
Date d'inscription
mardi 30 janvier 2007
Statut
Membre
Dernière intervention
7 février 2007
-
Bonjour bonjour,

J'ai une base de données dans Excel comprenant 3 feuilles
-Feuille 1 nommée "Base de données"
Colonne1   Colonne2   Colonne 3         Colonne 4
Nom          Email          Tel                    Code Postal
thomas       [mailto:t@t.fr t@t.fr]         0102030405     01000
vincent       [mailto:v@v.fr v@v.fr]        0102030406     02000
jérome       [mailto:j@j.fr j@j.fr]         0102030407      03000

Cette base de données est protégée et aucune modification n'y est autorisée.

-Feuille 2 nommée "ajout"
Dans cet onglet, j'ai crée des champs à remplir:
Nom      Email      Tel      Code postal
puis une macro qui insert automatiquement dans la base de données les champs remplis.
(très facile : insertion ligne puis copier coller)

Cette macro sert à ajouter à la base de données des nouveaux prospects.

-Feuille 3 nommée "suppr"
Dans cet onglet, je souhaite utiliser le même principe sauf que cette fois c'est pour supprimer un prospect de la base de données. C'est à dire remplir le champs "Email, puis exécuter une macro qui va rechercher la cellule correspondante dans la feuil 1 puis la macro supprimera la ligne entière correspondante à la cellule trouvée dans la feuil 1.
Et là ça se complique  , je n'y arrive pas !!

J'ai fait le tour des topics et je n'ai pas trouvé de sujet comme le mien. Par contre, j'ai constaté que des sujets étaient proche notament celui-ci : Sujet : [VB.NET] Supprimer des lignes d'un datatable [ Base de données / Autre ] où il précise la fonction suppression part :

For i =   tbl.Rows.count -1 to 0 step -1
rowTemp =  tbl.Rows(i)  
If rowTemp("Quantite")=0 Then
       tbl.Rows.Remove(rowTemp)
    End If
Next

Malheuresement je suis encore très novice en visual basic et je n'ai pas réussi à le combiner à ce que je souhaite faire. Pourtant, à mon avi ça doit être très simple de combiner la fonction recherche puis la fonction suppression.

Merci beaucoup de votre aide,

olivier

3 réponses

Messages postés
6786
Date d'inscription
vendredi 16 décembre 2005
Statut
Membre
Dernière intervention
21 décembre 2011
18
Salut,

voici comment supprimer ta ligne :

Sub Suppression(byval AdresseMail As String)
   sheets(1).select
   dim i as integer

   for i = 2 to range("B65536").End(xlup).Row
      If cells(i, 2).Value = AdresseMail then rows(i).delete: exit sub
   next i
   sheets(3).Select
end sub

et quand t'en as besoin :

Call Suppression([mailto:tartempion@sboub.com tartempion@sboub.com])

@++

<hr width="100%" size="2" />
  --Mortalino--
Le mystérieux chevalier, "Provençal, le Gaulois"
/DIV>
Messages postés
6786
Date d'inscription
vendredi 16 décembre 2005
Statut
Membre
Dernière intervention
21 décembre 2011
18
Heu avec le format HTML de cette page, les guillemets ont disparu autour de l'adresse mail.
Pense à les mettre, car il faut du String
Call Suppression("[mailto:tartempion@sboub.com tartempion@sboub.com]")

@++

<hr width="100%" size="2" />
  --Mortalino--
Le mystérieux chevalier, "Provençal, le Gaulois"
/DIV>
Messages postés
2
Date d'inscription
mardi 30 janvier 2007
Statut
Membre
Dernière intervention
7 février 2007

Génial !!

Merci beaucoup mortalino, cest ce qu'il me fallait, ça marche impeccable.
Demain je finirai mes améliorations et je les mettrai en ligne.