Bonjour à tous,
Je suis depuis longtemps votre forum et j'ai toujours trouvé ce dont j'avais besoin mais là je bloque.

(Désolé pour ce titre énigmatique mais c'est ce qui se rapproche le mieux de la réalité.)

Je dois utiliser excel comme un SGBD pour une base de données d'un million de lignes (...). Cette base va me servir à modifier quelques 130 fichiers et j'ai besoin d'automatiser au maximum.

Chaque fichier aura besoin de sa requète différente, mais chaque fichier contient déjà les données pour créer sa propre requète.

Exemple d'une requète:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
requete = "tabAPE(i, 0) = ""0111Z"" Or tabAPE(i, 0) = ""6611Z"" Or tabAPE(i, 0) = ""7990Z"""
tabAPE contient ma base de données
et 0111Z , 6611Z, 7990Z sont des codes contenus dans le fichier à traiter.

Le nombre et la valeur des codes varient en fonction du fichier, je peux me débrouiller pour créer une requete différente pour chaque fichier mais, problème : comment imbriquer la requète dans la fonction If ?


J'ai essayé :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
    If requete Then
 
    For j = 0 To 3
 
        Cells(k, j + 7) = tabAPE(i, j)
 
    Next j
    k = k + 1
 
    End If
Et ça e donne un message d'incompatibilité de type, alors que remplacer requete par sa valeur (le ... or ... or ..) fonctionne bien. Ce n'est dc pas un pb de guillemets


Si vous avez une idée (ou si je m'exprime mal), n'hésitez pas.