Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

vba incompatibilité de type

  • Initiateur de la discussion Initiateur de la discussion C@thy
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

C@thy

XLDnaute Barbatruc
bonjour le forum,

j'ai le code suivant :
Code:
Sub position()
Dim A As Range, b As Double, c As Long
derlig = Range("C1048576").End(xlUp).Row
Set A = Sheets("Flux 154").Range("C9:C" & derlig)
b = CDbl(Date)
c = Application.Match(b, A, 0)
LigneFlux = A(c).Row
Range("C" & LigneFlux).Select
End Sub
tantôt ça marche bien, tantôt sur l'instruction Match j'ai une erreur incompatibilité de type.

Pourriez-vous me dire comment y remédier?

En vous remerciant😎,

C@thy
 
Re : vba incompatibilité de type

Bonjour Cathy🙂

Code:
tantôt ça marche bien, tantôt sur l'instruction Match j'ai une erreur incompatibilité de type.
Pourriez-vous me dire comment y remédier?

sans doute que la valeur n'est pas trouvée.... déclare en "variant", et teste peut être ensuite si c'est un type "vberror" :
Code:
Dim c As Variant
If Not VarType(c) = vbError Then MsgBox c

bonne journée
@+
 
Re : vba incompatibilité de type

Bonjour,

Si Match renvoie une erreur (dans le cas où il ne trouve pas de correspondance), la variable c ne pourra pas la gérer. Il faut donc que c soit en variant pour que la macro fonctionne.

Est-ce cela*?
 
Dernière édition:
Re : vba incompatibilité de type

hello Pierrot, kersijus

la date existe bien dans ma liste.

a priori mon erreur venait de là :
derlig = Sheets("Flux 154").Range("C1048576").End(xlUp).Row

mais j'ai tout de même mis c en variant et cela fonctionne.

Mille mercis,

Bibises

C@thy
 
Re : vba incompatibilité de type

Bonjour

derlig n'est pas déclarée.

Sur 2003 la ligne 1048576 n'existe pas...

Une astuce, pour éviter le problème de numéro de la dernière ligne selon la version, est de se référer à cells.rows.count
 
Re : vba incompatibilité de type

Bonjour C@thy, Pierrot, Kersijus, chris 🙂

Ceci est peut-être suffisant et évite de créer des variables inutiles :

Code:
Sub position()
On Error Resume Next
Range("C" & Application.Match(CLng(Date), Sheets("Flux 154").[C:C], 0)).Select
End Sub
A+
 
Re : vba incompatibilité de type

Re,

Mais si la sélection se fait dans la feuille "Flux 154" il faut d'abord l'activer :

Code:
Sub position()
With Sheets("Flux 154")
  .Activate
  On Error Resume Next
  .Range("C" & Application.Match(CLng(Date), .[C:C], 0)).Select
End With
End Sub
ou aussi :

Code:
Sub position()
On Error Resume Next
With Sheets("Flux 154")
  Application.Goto .Range("C" & Application.Match(CLng(Date), .[C:C], 0))
End With
End Sub
A+
 
Re : vba incompatibilité de type

Coucou Gérard, je te remercie pour ta soluce très efficace (comme toujours). Je vais l'adopter.

Coucou Chris et merci. Oups! Désolée, je suis en 2010 sur ce coup-là (ça change selon les applis).

Bises

C@thy
 
Recherche de doublons et incrémentation sur la valeur la plus haute

Bonjour, dans des listes j'ai X identifiants avec parfois malheureusement des doublons que je ne veux pas supprimer mais aux quel j'aimerais donner une valeur supériure à la la dernière entrée

SPA 03014 S01 001
SPA 03014 S01 002
SPA 03014 S01 003
SPA 03014 S01 004
SPA 03014 S01 005
SPA 03014 S01 006
SPA 03014 S01 007
SPA 03014 S01 007

SPA 03014 S01 009
SPA 03014 S01 010
SPA 03014 S01 011
SPA 03014 S01 012
SPA 03014 S01 013
SPA 03014 S01 014
SPA 03014 S01 015
SPA 03014 S01 016
SPA 03014 S01 017
SPA 03014 S01 018
SPA 03014 S01 019
SPA 03014 S01 020

ICI la valeur 007 est en doublon je souhaiterais lui donner la valeur 021

Merci d'avance pour votre aide
Très cordialement
Francis
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
1
Affichages
387
Réponses
4
Affichages
606
Réponses
1
Affichages
226
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…