M MrAntonin XLDnaute Nouveau 24 Octobre 2017 #1 Bonjour, j'ai un problème que je ne comprends pas, incompatibilité de type ... Ma ligne de code : Sheets("Resultat").Range("B" & activeligne).Value2 = Sheets("Resultat").Range("B" & activeligne).Value2 + consodumois activeligne est une variable de type string mais cela ne fonctionne pas non plus avec un integer consodumois est un single ce que je comprends pas c'est qu'on manipule que des nombres, surtout avec Value2 alors pourquoi ce n'est pas compatible ? Cordialement, MrAntonin
Bonjour, j'ai un problème que je ne comprends pas, incompatibilité de type ... Ma ligne de code : Sheets("Resultat").Range("B" & activeligne).Value2 = Sheets("Resultat").Range("B" & activeligne).Value2 + consodumois activeligne est une variable de type string mais cela ne fonctionne pas non plus avec un integer consodumois est un single ce que je comprends pas c'est qu'on manipule que des nombres, surtout avec Value2 alors pourquoi ce n'est pas compatible ? Cordialement, MrAntonin
pierrejean XLDnaute Barbatruc 24 Octobre 2017 #2 Bonjour Antonin Voila qui prouve que ta ligne devrait fonctionner Il y a autre chose dans le fichier !!! Peux-tu le poster ? Pièces jointes Antonin.xlsm 12.6 KB · Affichages: 25 Vote positif 0 Vote négatif
Bonjour Antonin Voila qui prouve que ta ligne devrait fonctionner Il y a autre chose dans le fichier !!! Peux-tu le poster ?
S Si... XLDnaute Barbatruc 24 Octobre 2017 #3 Bon_jour Pierrejean , pour cette erreur 13, je pense que ce n'est pas .Value2 qui importe mais plutôt le type de contenu de B&activeligne, de consodumois. VB: activeligne = "2" consodumois = 2.5 Sheets("Resultat").Range("B" & activeligne) = Sheets("Resultat").Range("B" & activeligne) + consodumois ne renvoie une erreur 13 que si B2 n'est pas numérique (le vide passe quand même) VB: activeligne = "2" consodumois = "2.5" 'ou "2,5" Sheets("Resultat").Range("B" & activeligne) = Sheets("Resultat").Range("B" & activeligne) + consodumois ne renvoie pas d'erreur 13 quand B2 n'est pas numérique mais le + devient une concaténation VB: activeligne = "2" consodumois = "2.5" 'ou "2,5" et même 2.5 Sheets("Resultat").Range("B" & activeligne) = Sheets("Resultat").Range("B" & activeligne) + consodumois.Value2 renvoie toujours une erreur (424 pas 13) Vote positif 0 Vote négatif
Bon_jour Pierrejean , pour cette erreur 13, je pense que ce n'est pas .Value2 qui importe mais plutôt le type de contenu de B&activeligne, de consodumois. VB: activeligne = "2" consodumois = 2.5 Sheets("Resultat").Range("B" & activeligne) = Sheets("Resultat").Range("B" & activeligne) + consodumois ne renvoie une erreur 13 que si B2 n'est pas numérique (le vide passe quand même) VB: activeligne = "2" consodumois = "2.5" 'ou "2,5" Sheets("Resultat").Range("B" & activeligne) = Sheets("Resultat").Range("B" & activeligne) + consodumois ne renvoie pas d'erreur 13 quand B2 n'est pas numérique mais le + devient une concaténation VB: activeligne = "2" consodumois = "2.5" 'ou "2,5" et même 2.5 Sheets("Resultat").Range("B" & activeligne) = Sheets("Resultat").Range("B" & activeligne) + consodumois.Value2 renvoie toujours une erreur (424 pas 13)
M MrAntonin XLDnaute Nouveau 24 Octobre 2017 #4 Merci beaucoup !! En initialisant toutes les cellules a 0 cela marche Vote positif 0 Vote négatif