incompatibilité de type vba

raptor65

XLDnaute Nouveau
bonjour
je dispose la macro suivante :

col = Chr(64 + InputBox("Sélectionnez le numéro de colonne"))
col = col & ":" & col

Je demande à l'utilisateur de rentrer un numéro de colonne

Ensuite j’ai une variable col2 en integer tel que :

col2 = col - 5

J'ai une incompatibilité de type
Je ne trouve pas de solution
 

Iznogood1

XLDnaute Impliqué
Re : incompatibilité de type vba

Bonjour,

col = col & ":" & col transforme ta variable col en chaine de caractère (type string)

col2 = col - 5 n'a donc aucun sens.


un code du style
col2 = Cells(1, CInt(InputBox("Sélectionnez le numéro de colonne"))).Offset(0, -5).Column
devrait fonctionner
 

Jacou

XLDnaute Impliqué
Re : incompatibilité de type vba

Bonjour raptor65, bonjour le forum,
l'incompatibilité de type provient du fait que tu essaies de soustraire un nombre(5) à une donnée qui est une lettre (on ne peut pas faire de calcul avec une donnée "texte".
dans ton cas je ferais comme suit :
col2 = InputBox("Sélectionnez le numéro de colonne")
If Not IsNumeric(col2) Then Exit Sub
If col2 > 26 then exit sub
col = Chr(64 + col2)
col = col & ":" & col
col2 = col2 - 5

​Bonne journée
 

Discussions similaires

Réponses
3
Affichages
320

Membres actuellement en ligne

Statistiques des forums

Discussions
312 505
Messages
2 089 071
Membres
104 020
dernier inscrit
Mzghal