[Excel] Aide creation de macro pour novice
elhijo
-
Kobaya Messages postés 282 Date d'inscription Statut Membre Dernière intervention -
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.
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.
A voir également:
- [Excel] Aide creation de macro pour novice
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Liste déroulante excel - Guide
- Creation de site web - Guide
- Word et excel gratuit - Guide
- Creation compte gmail - Guide
1 réponse
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 :
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
Merci encore et bonne journée.
=EQUIV(ValeurAChercher,ZoneDeRecherche,Type)
où
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