If Format(Left(Cells(Cl, 1), 3)) Then
Peux-tu nous dire, en français, quelle est la condition que tu veux vérifier? La fonction Format renvoie une chaine de caractère (String). Dans ta condition, tu ne la compares à rien. Quelle est donc ta condition?
Format(Left(Cells(Cl, 13), "CLE*")).Value
Que veux-tu faire ici? La propriété .Value ne s'applique pas à une chaine de caractère (mais à un Range, par exemple). Ensuite, Format est une fonction qui renvoie qqc. Quand tu utilises une fonctin qui renvoie qqc, il faut faire quelque chose avec ce qui est renvoyé. Tu ne peux pas juste écrire la fonction telle quelle. En maths, c'est comme si tu écrivais 1 + 1 sur une ligne sans rien. En maths, tu utilises toujours une signe égal quand tu appliques des fonctions, tu écriras par exemple : x = 1 + 1. C'est pareil en VBA. Quand tu utilises une fonction, tu l'utilies pour récupérer ce qu'elle renvoie.
Si je comprend bien, ici c'est le moment où tu veux ajouter le mot "CLE" devant ta valeur. Pourquoi écris-tu "CLE*"? De plus, relis bien l'aide microsoft sur la fonction Left. Tu n'utilises pas la bonne syntaxe : le deuxième argument est un entier.
Si tu veux rajouter "CLE " à l'avant du mot, il y a plus simple :
Cells(Cl, 13).Value = "CLE " & Cells(Cl, 1).Value
Ici tu concatènes "CLE " et la valeur de la cellule en colonne 1. La valeur de la cellule de la colonne 13 est alors égale à cette concaténeation.
Partager