Bonjour à vous,
Je travaille actuellement sur des résultats d'une étude de marché, pour lesquels je souhaiterai créer un dashboard. Etant donné qu'il y a énormément de fichiers à traiter, je pensais faire une macro pour écrire des mots clés en face des éléments que je veux récupérer (via des RECHERCHEV par la suite).
Mon souci est que d'un fichier à l'autre, certaines questions ou certains critères sont vides, et vu que je suis très novice en VBA, ça ne fonctionne pas.
Je mets un exemple en pièce jointe avec 2 onglet :
- Avant : ce que j'ai initialement
- Après : ce que je souhaiterai obtenir
Pour le moment, ma macro ressemble à ça (code récupéré sur Internet puis adapté). Ca plante car je pense que dans cette macro, il ne va pas directement sur la cellule recherchée.
Je suis obligé de faire ma recherche en 2 fois :
- le numéro de la question en premier
- le critère recherché ensuite (je ne veux pas rechercher tous les "Excellent" du fichier, mais uniquement celui des questions qui m'intéressent)
Merci par avance pour votre aide et je suis à disposition si je ne suis pas clair...
Bon après-midi !
A.
Je travaille actuellement sur des résultats d'une étude de marché, pour lesquels je souhaiterai créer un dashboard. Etant donné qu'il y a énormément de fichiers à traiter, je pensais faire une macro pour écrire des mots clés en face des éléments que je veux récupérer (via des RECHERCHEV par la suite).
Mon souci est que d'un fichier à l'autre, certaines questions ou certains critères sont vides, et vu que je suis très novice en VBA, ça ne fonctionne pas.
Je mets un exemple en pièce jointe avec 2 onglet :
- Avant : ce que j'ai initialement
- Après : ce que je souhaiterai obtenir
Pour le moment, ma macro ressemble à ça (code récupéré sur Internet puis adapté). Ca plante car je pense que dans cette macro, il ne va pas directement sur la cellule recherchée.
VB:
Sub Macro1()
'
' Macro1 Macro
'
Dim Trouve As Range, PlageDeRecherche As Range
Dim Valeur_Cherchee As String, AdresseTrouvee As String
Valeur_Cherchee = "c5_3_3 Invoicing Performance (Respondent Basis)"
Set PlageDeRecherche = ActiveSheet.Columns(1)
Set Trouve = PlageDeRecherche.Cells.Find(what:=Valeur_Cherchee, LookAt:=xlWhole)
Valeur_Cherchee = "Excellent"
Set PlageDeRecherche = ActiveSheet.Columns(2)
Set Trouve = PlageDeRecherche.Cells.Find(what:=Valeur_Cherchee, LookAt:=xlWhole)
If Trouve Is Nothing Then
AdresseTrouvee = Valeur_Cherchee
Else
ActiveCell.Offset(rowOffset:=0, columnOffset:=-1).Activate
ActiveCell.FormulaR1C1 = "c5_3_31"
End If
Set PlageDeRecherche = Nothing
Set Trouve = Nothing
'
End Sub
Je suis obligé de faire ma recherche en 2 fois :
- le numéro de la question en premier
- le critère recherché ensuite (je ne veux pas rechercher tous les "Excellent" du fichier, mais uniquement celui des questions qui m'intéressent)
Merci par avance pour votre aide et je suis à disposition si je ne suis pas clair...
Bon après-midi !
A.