Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
3049 connectés 

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  A l'aide pour une macro VBA

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

A l'aide pour une macro VBA

n°1368625
Ms Argon
Blop!!!!!!!!!!!!!!!
Posté le 17-05-2006 à 12:10:22  profilanswer
 

Bonjour
Ca va faire des heures que je me prend la tête. J'ai une première cellule qui contient un date sous la forme jj/mm/aaaa. De cette cellule j'extrais le mois avec la fonction Month et je l'écrit dans un deuxième cellule. Je fais la même chose pour 12 cellules correspondant aux 12 mois de l'année.
Puis j'utilise un UserForm avec une ListBox, pour que l'utilisteur choisisse son mois. Je récupère son choix dans la variable Mois en utilisant ListBoX.Value . Puis je compare Mois à chaque Cellule qui contient un mois de l'année. Comme ça ne marchait pas j'ai tenté de mettre le contenue de la cellule dans la chaine de caratère Mensuel comme suit:
Mensuel = CStr(Workbooks("Informatisation du plan de maintenance.xls" ).Worksheets(Feuillename).Range(Cells(3, Compt2 - Compt4), Cells(3, Compt2)))
Mais ça ne marche pas, j'ai une erreur n°13, et quand je demande le tpe de l'expréssion suivante:  
Workbooks("Informatisation du plan de maintenance.xls" ).Worksheets(Feuillename).Range(Cells(3, Compt2 - Compt4), Cells(3, Compt2))
Il me répond variant.
Je vous en supplie aidez moi c'est pour mon stage de fin d'étude et là je vais pas tarder à flinguer mon ordi à coup de batte.

mood
Publicité
Posté le 17-05-2006 à 12:10:22  profilanswer
 

n°1368696
kiki29
Posté le 17-05-2006 à 13:36:58  profilanswer
 

Erreur 13
 
Type incompatible (erreur 13)
   
 
Visual Basic peut convertir et forcer plusieurs valeurs pour effectuer des affectations de type de données qui étaient impossibles dans des versions antérieures. Cependant, cette erreur peut toujours se produire et peut avoir les causes et solutions suivantes :  
 
La variable ou la propriété n'est pas du type approprié. Par exemple, une variable nécessitant une valeur entière ne peut pas accepter de valeur de chaîne sauf si cette valeur peut être reconnue comme un entier.  
Essayez d'effectuer des affectations uniquement entre types de données compatibles. Par exemple, un Integer peut toujours être affecté à une variable de type Long, un type Single peut toujours être affecté à une variable de type Double, et n'importe quel type (à l'exception d'un type défini par l'utilisateur) peut être affecté à une variable de type Variant.  
 
Un objet a été passé à une procédure attendant une propriété ou une valeur simple.  
Passez la propriété simple appropriée ou appelez une méthode adaptée à l'objet.  
 
Un nom de module ou de projet a été utilisé à l'endroit où une expression était attendue, par exemple :  
Debug.Print MyModule
 
Spécifiez une expression pouvant être affichée.  
 
Vous avez tenté de combiner une gestion d'erreurs Basic traditionnelle avec des valeurs de type Variant ayant le sous-type Error (10, vbError), par exemple :  
Error CVErr(n)
 
Pour générer à nouveau une erreur, vous devez trouver la correspondance à une erreur Visual Basic intrinsèque ou définie par l'utilisateur, puis générer cette erreur.  
 
Une valeur CVErr ne peut pas être convertie en Date. Par exemple :  
MyVar = CDate(CVErr(9))
 
Utilisez une instruction Select Case ou une structure similaire pour mapper le renvoi de CVErr à ce type de valeur.  
 
Au moment de l'exécution, cette erreur indique généralement qu'une variable de type Variant utilisée dans une expression a un sous-type incorrect, ou qu'une variable de type Variant contient un tableau apparaissant dans une instruction Print #.  
Pour imprimer des tableaux, créez une boucle affichant chaque élément individuellement.  
 
Pour plus d'informations, sélectionnez l'élément en question et appuyez sur F1 (sous Windows) ou AIDE (sur Macintosh).

n°1368787
Ms Argon
Blop!!!!!!!!!!!!!!!
Posté le 17-05-2006 à 14:51:49  profilanswer
 

Merci de ces précieux renseignement.
Dans ce cas présent l'erreur venait du fait que la chaine de caractère contenue dans la zone de cellules fusionnées n'est affectée en valeur qu'à la première cellule de la fusion.
Bonne journée

n°1368934
kiki29
Posté le 17-05-2006 à 16:19:44  profilanswer
 

... un coller de l'aide en ligne VBA

n°1369183
kiki29
Posté le 17-05-2006 à 21:27:05  profilanswer
 

ht


Message édité par kiki29 le 17-05-2006 à 21:27:57

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  A l'aide pour une macro VBA

 

Sujets relatifs
Déterminer le maxi d'une scrollbar par code VBABesoin d'aide pour pièces jointes avec PHP Mailer
[Résolu]appel de Macro OpenOffice avec API UNO ????Besoin d'aide URGENT : Pb scrolling Horizontal
Aide en vbaaide macro
pb avec macro "ajout lien hypertexte"[macro excel Modifier tout les lien hypertexte
Vba ( Userform + decalage vers la droite d'enregistrement) 
Plus de sujets relatifs à : A l'aide pour une macro VBA


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR