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

Résolu
zouzoliver Messages postés 2 Date d'inscription mardi 30 janvier 2007 Statut Membre Dernière intervention 7 février 2007 - 7 févr. 2007 à 12:42
zouzoliver Messages postés 2 Date d'inscription mardi 30 janvier 2007 Statut Membre Dernière intervention 7 février 2007 - 7 févr. 2007 à 18:26
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

mortalino Messages postés 6786 Date d'inscription vendredi 16 décembre 2005 Statut Membre Dernière intervention 21 décembre 2011 17
7 févr. 2007 à 12:55
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>
3
mortalino Messages postés 6786 Date d'inscription vendredi 16 décembre 2005 Statut Membre Dernière intervention 21 décembre 2011 17
7 févr. 2007 à 12:57
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>
3
zouzoliver Messages postés 2 Date d'inscription mardi 30 janvier 2007 Statut Membre Dernière intervention 7 février 2007
7 févr. 2007 à 18:26
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.
0
Rejoignez-nous