[Excel] Aide creation de macro pour novice

elhijo -  
Kobaya Messages postés 282 Date d'inscription   Statut Membre Dernière intervention   -
Bonsoir a tous.

Je voudrais faire une macro Excel qui me permettrai de vérifier si dans une colonne il y a d'autres noms que ceux spécifiés dans un fichier (peut importe le quel, au sein de la macro ou un fichier tiers) et si oui, supprimer la ligne correspondante.

Le but final est d'arriver à extraire d'un fichier csv contenant plus d'une 100aine de nom différents, uniquement les entrées correspondantes aux personnes de mon équipe.

La colonne contenant les noms peut être appelé soit par ca lettre soit par son nom, peut importe, elle ne devrait pas changer de place.

Tout ca sous Excel 2000 ou 2003

Merci à tous pour votre aide, cela dépasse vraiment mes compétences.

Bonne soirée.

1 réponse

  1. Kobaya Messages postés 282 Date d'inscription   Statut Membre Dernière intervention   214
     
    Salut elhijo,

    Le plus simple serait d'utiliser la fonction Equiv() (Match dans la version anglaise), qui renverra #N/A pour les noms qui ne figurent pas dans ta liste.

    Créer la liste des noms de personnes de ton équipe dans une feuille et importe le fichier csv dans un autre.

    Le code qui te permettra de détruire les lignes pourrait ressembler à ça :
    Sub DetruireLigne()
        Dim varCell As Variant
        
        ' pour accelérer le traitement, désactiver le rafraichissement écran
        Application.ScreenUpdating = False
        
        ' placer le curseur sur la première ligne de données
        Do Until IsEmpty(ActiveCell.Value)
            varCell = ActiveCell.Value
            If IsError(varCell) Then
                ActiveCell.EntireRow.Delete shift:=xlShiftUp
            Else
                ActiveCell.Offset(1, 0).Select
            End If
        Loop
        
        Application.ScreenUpdating = True
        MsgBox "Fin du traitement", vbInformation
    End Sub

    0
    1. elhijo
       
      Merci beaucoup pour ces pistes, seulement je n'y connait vraiment rien en prog, pourait tu m'aiguiller sur le fonctionnement de la fonction Equiv() ?
      Merci encore et bonne journée.
      0
      1. Kobaya Messages postés 282 Date d'inscription   Statut Membre Dernière intervention   214 > elhijo
         
        de mémoire, la fonction EQUIV() demande 3 arguments :
        =EQUIV(ValeurAChercher,ZoneDeRecherche,Type)



        ValeurAChercher :
        une cellule unique, ex. A1 qui contient un nom à contrôler

        ZoneDeRecherche
        une collection de cellules contigues, ex. A1:A625 qui contient la liste des noms autorisés

        Type
        0 pour rechercher excactement la même valeur
        1 pour rechercher une valeur approchante

        0