Erreur incompatibilité de type
Fermé
Excel33
-
26 juin 2018 à 14:49
Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023 - 27 juin 2018 à 13:44
Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023 - 27 juin 2018 à 13:44
A voir également:
- Erreur incompatibilité de type
- Erreur 0x80070643 - Accueil - Windows
- Erreur 0x80070643 Windows 10 : comment résoudre le problème de la mise à jour KB5001716 - Accueil - Windows
- Erreur 1001 outlook - Accueil - Bureautique
- Faiblesse type spectre ✓ - Forum Jeux vidéo
- Erreur 38 free ✓ - Forum Mobile
4 réponses
f894009
Messages postés
17205
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
19 octobre 2024
1 709
26 juin 2018 à 15:34
26 juin 2018 à 15:34
Bonjour,
Vous avez un Excel 2007 ou Plus??
Chez moi marche tres bien avev Excel2013
Vous avez un Excel 2007 ou Plus??
Chez moi marche tres bien avev Excel2013
Patrice33740
Messages postés
8556
Date d'inscription
dimanche 13 juin 2010
Statut
Membre
Dernière intervention
2 mars 2023
1 779
26 juin 2018 à 15:50
26 juin 2018 à 15:50
Bonjour,
C'est pas normal que tu aies cette erreur, dès la ligne 3, tu devrais avoir l'erreur d’exécution 424 : Objet requis !!!
Une fois corrigée cette erreur, il y a effectivement une incompatibilité de type, en effet RechercheV sert à rechercher une valeur dans un plage de cellules mais ne permet pas de chercher un tableau de valeurs.
C'est pas normal que tu aies cette erreur, dès la ligne 3, tu devrais avoir l'erreur d’exécution 424 : Objet requis !!!
Une fois corrigée cette erreur, il y a effectivement une incompatibilité de type, en effet RechercheV sert à rechercher une valeur dans un plage de cellules mais ne permet pas de chercher un tableau de valeurs.
Bonjour Patrice,
moi ce que je veux c'est rechercher une valeur sur une colonne et mettre ce que je cherche dans la cellule à coté. Donc c'est bien une recherchev et c'est comme si on l’étendait après sur toute les cellules de la colonne.
Comment ça ce fait que cela marche pour un nombre limité de ligne alors.
As-tu une solution stp ?
moi ce que je veux c'est rechercher une valeur sur une colonne et mettre ce que je cherche dans la cellule à coté. Donc c'est bien une recherchev et c'est comme si on l’étendait après sur toute les cellules de la colonne.
Comment ça ce fait que cela marche pour un nombre limité de ligne alors.
As-tu une solution stp ?
Patrice33740
Messages postés
8556
Date d'inscription
dimanche 13 juin 2010
Statut
Membre
Dernière intervention
2 mars 2023
1 779
26 juin 2018 à 16:19
26 juin 2018 à 16:19
Si tu veux chercher une valeur, pourquoi mets-tu un tableau de 79999 valeurs ? (i.e. : .Range("V2:V80000").Value)
Patrice33740
Messages postés
8556
Date d'inscription
dimanche 13 juin 2010
Statut
Membre
Dernière intervention
2 mars 2023
1 779
Modifié le 26 juin 2018 à 16:58
Modifié le 26 juin 2018 à 16:58
Le plus simple serait de mettre en place une formule R1C1, puis de la remplacer par ses valeurs
.Range("AA2:AA80000").FormulaR1C1 = .... .Range("AA2:AA80000").Value =.Range("AA2:AA80000").Value
Patrice33740
Messages postés
8556
Date d'inscription
dimanche 13 juin 2010
Statut
Membre
Dernière intervention
2 mars 2023
1 779
26 juin 2018 à 17:34
26 juin 2018 à 17:34
Bonjour,
Ici, un excellent cours VBA pour débutants (et plus si affinités...) :
ftp://ftp-developpez.com/bidou/Cours/VBA/formationVBA.pdf
Une proposition :
Ici, un excellent cours VBA pour débutants (et plus si affinités...) :
ftp://ftp-developpez.com/bidou/Cours/VBA/formationVBA.pdf
Une proposition :
Sub test() Dim formule As String formule = Sheets(Sheets.Count - 1).Name formule = "=VLOOKUP(RC[-5],'" & formule & "'!R2C23:R80000C23,1,FALSE)" With ActiveSheet 'ou autre feuille à définir .Range("AA2:AA80000").FormulaR1C1 = formule .Range("AA2:AA80000").Value = .Range("AA2:AA80000").Value End With End Sub
Re Patrice,
Super ça marche super bien, je te remercie.
J'ai deux autres question si ça te dérange pas. Est-ce qu'il y a moyen que la formule s'arrète lorsqu'on arrive à la fin ?
Et cette formule marche si on souhaite faire une recherchev sur toute la colonne comme pour ce cas là mais cette fois ci me prendre la 2ème colonnes de la plage et pas la première ?
Merci encore pour ton aide
Super ça marche super bien, je te remercie.
J'ai deux autres question si ça te dérange pas. Est-ce qu'il y a moyen que la formule s'arrète lorsqu'on arrive à la fin ?
Et cette formule marche si on souhaite faire une recherchev sur toute la colonne comme pour ce cas là mais cette fois ci me prendre la 2ème colonnes de la plage et pas la première ?
Merci encore pour ton aide
Patrice33740
Messages postés
8556
Date d'inscription
dimanche 13 juin 2010
Statut
Membre
Dernière intervention
2 mars 2023
1 779
Modifié le 27 juin 2018 à 13:46
Modifié le 27 juin 2018 à 13:46
Bonjour,
Voici un code qui tient compte de la taille de la base de données (colonne W de la pénultième feuille) et de la taille des informations à rechercher (colonne V de la feuille active).
Il place en colonne AA la valeur recherchée dans la colonne W et en colonne AB celle qui y correspond dans la colonne X.
Voici un code qui tient compte de la taille de la base de données (colonne W de la pénultième feuille) et de la taille des informations à rechercher (colonne V de la feuille active).
Il place en colonne AA la valeur recherchée dans la colonne W et en colonne AB celle qui y correspond dans la colonne X.
Option Explicit Sub test() Dim formule As String Dim dL1 As Long, dL2 As Long With ActiveSheet 'ou autre feuille à définir ' Dernière ligne de la colonne V de la feuille active dL1 = .Range("V" & .Rows.Count).End(xlUp).Row ' Nom de la pénultième feuille formule = Sheets(Sheets.Count - 1).Name ' Dernière ligne de la colonne W de la pénultième feuille dL2 = Worksheets(formule).Range("W" & .Rows.Count).End(xlUp).Row ' Formule de la colonne AA de la feuille active (1ère info) formule = "=VLOOKUP(RC22,'" & formule & "'!R2C23:R" & dL2 & "C24,1,FALSE)" .Range("AA2:AA" & dL1).FormulaR1C1 = formule ' Formule de la colonne AB de la feuille active (2ème info) formule = Replace(formule, ",1,", ",2,") .Range("AB2:AB" & dL1).FormulaR1C1 = formule ' Remplacer les formules par leur valeur .Range("AA2:AB" & dL1).Value = .Range("AA2:AB" & dL1).Value End With End Sub
26 juin 2018 à 15:40
J'ai excel 2013, ah oui ça marche avec 60 000 lignes c'est bizarre, pourquoi moi ca marche pas