VBA excel - Erreur '13' Type incompatible

Résolu
Calvin -  
 alexis -
Bonjour,

Je souhaite que tous les chiffres présents dans une colonne soient sur 2 caractères ( que 1 devienne 01, etc...).
J'ai donc écrit une boucle qui fonctionne avec excel 2003 mais qui me renvoie une erreur sur 97 : "Erreur d'exécution 13 - Type incompatible".
La ligne qui est surbrillée suite à l'erreur est "If(Cells(ligne, 5).Value) < 10 Then

Mais je n'arrive pas à m'en sortir. Merci par avance de votre aide.

Voici mon code :

Dim ligne As Long, finboucle As Long

ligne = 1
finboucle = 0
Columns("E:E").Select
Selection.NumberFormat = "@"

While finboucle <> 1
If (Cells(ligne, 5).Value) < 10 Then
Cells(ligne, 5).Value = "0" & Cells(ligne, 5).Value
End If
If Cells(ligne + 1, 5).Value = "" Then
finboucle = 1
End If
ligne = ligne + 1
Wend

Encore merci de ce que vous pourrez faire.

Calvin
Configuration: Windows XP
Internet Explorer 6.0

1 réponse

  1. wilfried_42 Messages postés 912 Statut Contributeur 245
     
    Bonjour

    en definissant ta colonne E en format texte, ta colonne E est du texte

    If Val(Cells(ligne, 5).Value) < 10 Then
    0
    1. Calvin
       
      Bonjour Wilfried,

      C'est tout bon.
      Un grand merci.

      Bonne journée à toi et @ +
      0
    2. alexis
       
      Bonjour

      j'ai la même erreur avec le code suivant :

      'On cherche à savoir si une fréquence de recyclage a été définie pour cette formation
      If listes.Cells(ligne_recyclage, colonne_formation + 1).Value <> "" Or listes.Cells(ligne_recyclage, colonne_formation + 1).Value <> 0 Then

      'Création de la date de renouvellement
      If CDbl(listes.Cells(ligne_recyclage, colonne_formation + 1).Value) = CLng(listes.Cells(ligne_recyclage, colonne_formation + 1).Value) Then 'Vérifie si la valeur entrée est un entier ...
      '...si oui on applique le code suivant.
      offset = Format(saisie.Cells(i, colonne_saisie + 2).Value, "yyyy") + listes.Cells(ligne_recyclage, colonne_formation + 1).Value
      date_recyclage = Format(saisie.Cells(i, colonne_saisie + 2).Value, "dd") & "/" & Format(saisie.Cells(i, colonne_saisie + 2).Value, "mm") & "/" & offset
      recap.Cells(j, colonne_recap + 1).Value = date_recyclage
      recap.Cells(j, colonne_recap + 1).Interior.Color = RGB(153, 255, 153)
      Else:

      -- pouvez vous m'aider svp--

      Bonne journée
      0