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

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  Problème : Type incompatible (erreur 13)

 



 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Problème : Type incompatible (erreur 13)

n°2226941
benny84
Posté le 01-05-2014 à 22:03:21  profilanswer
 

Bonjour, j'essaie de faire un projet VBA et je suis maintenant arrivé à un bugg que je ne suis pas en mesure de corrigé depuis environ 1h30. Voici mon code :
 
 

Code :
  1. Dim ABC As Double
  2. 'Nommer la cellule  "ABC"
  3.     ABC = Range("A7" ).Value
  4. 'Nommer le fichier
  5.     ABCD = ActiveWorkbook.Name
  6. 'Nommer le fichier Classeur1
  7.     Dim xls As Excel.Workbook
  8.     Set xls = GetObject("Classeur1.xls" )
  9. 'Rechercher l'endroit à insérer la ligne
  10.     Dim i As Integer
  11.     Dim k As Integer
  12.    
  13.     k = 1
  14.     For i = 1 To k
  15.         Windows("Classeur1.xls" ).Activate
  16.         If xls.Sheets("feuil1" ).Cells(k + 2, 1).Value < ABC Then
  17.         k = k
  18.         Else: k = k + 1
  19.         End If
  20.     Next i
  21. 'Insérer une ligne
  22.     xls.Sheets("feuil1" ).Cells(k + 3, 1).Select
  23.     xls.Sheets("feuil1" ).Cells(k + 3, 1).Insert Shift:=xlUp
  24.    
  25. 'Copier la ligne
  26.     ABCD.Worksheets("feuil1" ).Rows(7).Copy _
  27.     Destination:=xls.Worksheets("feuil1" ).Rows(k + 3)
  28. End Sub


 
La ligne en rouge est la ligne de mon erreur :  
Type incompatible (erreur 13) : If xls.Sheets("feuil1" ).Cells(k + 2, 1).Value < ABC Then
 
Merci à l'avance pour votre aide.  :hello:


Message édité par benny84 le 02-05-2014 à 14:42:55
mood
Publicité
Posté le 01-05-2014 à 22:03:21  profilanswer
 

n°2226965
Marc L
Posté le 02-05-2014 à 09:24:48  profilanswer
 

 
           Bonjour, bonjour,
 
           merci de baliser le code avec l'icône dédiée conformément aux règles du forum !
 
           Sinon afin de corriger quoique ce soit vu le bloc de lignes mal conçu (sans compter d'autres erreurs plus bas !),
           il serait plutôt judicieux de présenter clairement et exhaustivement le but recherché …
 

n°2226992
benny84
Posté le 02-05-2014 à 14:38:49  profilanswer
 

Oki, je ne sais pas comment baliser le code. Je ne sais pas ce que ça veut dire.
Je consulte régulièrement le forum, mais j'y écris rarement.
 
Voici mon intention, la cellule A7 comprend un nombre que j'ai appelé ABC. Dès que Cells(k + 2, 1).Value < ABC, je désire copier/coller la ligne en dessous. L'exercice est pour un travail d'étude.
 
J'ai continué de chercher hier et je crois qu'il manque une ligne, mais le code indique tjrs un erreur.
 

Code :
  1. k = 1
  2.     For i = 1 To k
  3.         Windows("Classeur1.xls" ).Activate
  4.         If xls.Sheets("feuil1" ).Cells(k + 2, 1).Value < ABC Then
  5.         k = k
  6.         Else: k = k + 1
  7.         End If
  8.     Next i


 
Merci de m'aider


Message édité par benny84 le 02-05-2014 à 14:41:35
n°2226997
Marc L
Posté le 02-05-2014 à 15:27:07  profilanswer
 

 
           Si la cellule testée est en format texte, cela provoque l'erreur en la comparant avec la variable ABC déclarée en Double
 
           Suffit de suivre le code en mode pas à pas via la touche F8 par exemple pour contrôler les valeurs des cellules et variables.
 


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

  Problème : Type incompatible (erreur 13)

 

Sujets relatifs
Problème localhostprobleme de suppression d'un champ de type char
[OpenGL] [SDL2] problème de z-buffer [RéSOLU]Problème PHP/SQL
problème pour inserer des données dans une table à partir d'un JframeProblème actualisation page web en arrière-plan
erreurtype de clé primaire
Problème de Joystick avec Pygame 
Plus de sujets relatifs à : Problème : Type incompatible (erreur 13)


Copyright © 1997-2018 Hardware.fr SARL (Signaler un contenu illicite) / Groupe LDLC / Shop HFR