Erreur incompatibilité de type
Excel33
-
Patrice33740 Messages postés 8561 Date d'inscription Statut Membre Dernière intervention -
Patrice33740 Messages postés 8561 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
J'essaye de lancer ma macro mais j'ai une erreur "incompatibilité de type"
Voici ma macro:
Sub test2()
With Sheets.Application
ctr = Sheet.Count - 1
.Range("AA2:AA80000").Value = WorksheetFunction.VLookup(.Range("V2:V80000").Value, Sheets(ctr).Range("W2:W80000"), 1, False)
End With
End Sub
Voilà j'essaye de faire une recherchev en prenant en compte la colonne de la feuille précédente à la feuille active.
Si quelqu'un peut m'aider.
Ps: Lorsque je mets moins de ligne, genre 1 000 au lieu de 80 000, la macro fonctionne
Merci
J'essaye de lancer ma macro mais j'ai une erreur "incompatibilité de type"
Voici ma macro:
Sub test2()
With Sheets.Application
ctr = Sheet.Count - 1
.Range("AA2:AA80000").Value = WorksheetFunction.VLookup(.Range("V2:V80000").Value, Sheets(ctr).Range("W2:W80000"), 1, False)
End With
End Sub
Voilà j'essaye de faire une recherchev en prenant en compte la colonne de la feuille précédente à la feuille active.
Si quelqu'un peut m'aider.
Ps: Lorsque je mets moins de ligne, genre 1 000 au lieu de 80 000, la macro fonctionne
Merci
A voir également:
- Erreur incompatibilité de type
- Iptv erreur de lecture - Forum TV & Vidéo
- Type de ram - Guide
- Erreur 3000 france tv - Forum Lecteurs et supports vidéo
- Erreur 0x80070643 - Accueil - Windows
- Erreur t32 ✓ - Forum Livebox
4 réponses
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 ?
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
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
J'ai excel 2013, ah oui ça marche avec 60 000 lignes c'est bizarre, pourquoi moi ca marche pas