pb de calcul en vba ?

  • Initiateur de la discussion Initiateur de la discussion jeune débutant
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

J

jeune débutant

Guest
bonjour,
voici des lignes de code associé à un bouton !
pour aller rechercher des données numériques dans les 12 onglets representant chaque mois de l'année et de multiplier directement chaques données par une valeur en dur qui est présente dans chacun des onglets.

mais il y a un hic



Private Sub calcul_Click()
l_recap = 7
c_recap = 3
For n = 1 To Worksheets.Count
If Left(Worksheets(n).Name, 3) = 'bdd' Then
derlin = Worksheets(n).Range('a14').Row
For x = 11 To derlin
Sheets('recap_mois').Cells(l_recap, 2) = Worksheets(n).Range('b' & x)
Sheets('recap_mois').Cells(l_recap, 1) = Worksheets(n).Range('a' & x)

Sheets('recap_mois').Cells(l_recap, c_recap) = Worksheets(n).Cells(x, 3) * Worksheets(n).Cells(3, 3)
Sheets('recap_mois').Cells(l_recap + 1, c_recap) = Worksheets(n).Cells(x, 4) * Worksheets(n).Cells(3, 4)
Sheets('recap_mois').Cells(l_recap + 2, c_recap) = Worksheets(n).Cells(x, 5) * Worksheets(n).Cells(3, 5)
Sheets('recap_mois').Cells(l_recap + 3, c_recap) = Worksheets(n).Cells(x, 6) * Worksheets(n).Cells(3, 6)
Sheets('recap_mois').Cells(l_recap + 4, c_recap) = Worksheets(n).Cells(x, 7) * Worksheets(n).Cells(3, 7)
Sheets('recap_mois').Cells(l_recap + 5, c_recap) = Worksheets(n).Cells(x, 8) * Worksheets(n).Cells(3, 8)
Sheets('recap_mois').Cells(l_recap + 6, c_recap) = Worksheets(n).Cells(x, 9) * Worksheets(n).Cells(3, 9)
Sheets('recap_mois').Cells(l_recap + 7, c_recap) = Worksheets(n).Cells(x, 10) * Worksheets(n).Cells(3, 10)
Sheets('recap_mois').Cells(l_recap + 8, c_recap) = Worksheets(n).Cells(x, 11) * Worksheets(n).Cells(3, 11)
Sheets('recap_mois').Cells(l_recap + 9, c_recap) = Worksheets(n).Cells(x, 12) * Worksheets(n).Cells(3, 12)




l_recap = l_recap + 11

Next x
l_recap = 7
c_recap = c_recap + 6

End If
Next n
End Sub


ce message d'erreur s'affiche:

erreur d'execution 13
incompatibilité de type

en arrivant à la ligne de code l_recap = l_recap + 11


quelqu'un voit-il le pb ?
le fichier est un peu trop complexe pour en tirer un morceau et l'envoyer !


merci par avance
 
Bonjour,

pour ton problème sans exemple concret c'est pas evident mais a vu d'oeil ton code est bizar

pourquoi fais tu cela :
Code:
derlin = Worksheets(n).Range('a14').Row
For x = 11 To derlin
de cette facon derlin sera toujours 14 ??

deplus ici :
Code:
Sheets('recap_mois').Cells(l_recap, 2) = Worksheets(n).Range('b' & x)
Sheets('recap_mois').Cells(l_recap, 1) = Worksheets(n).Range('a' & x)
la valeur de ta feuille recap_mois.cells(l_recap,2) puis l'autre sera ecrasé à chaque boucle de X ainsi que de n (si la condition est respecté)

je ne comprend pas la raison? est tu sur de vouloir ecraser les données ?
 
merci,
pour Thomas R, il s'agit de 2 lignes de codes que j'ai inclus par flèmes directement dans la boucle sachant qu'il s'agit de donnée en dur qui ne bougeront pas quelques soit l'onglet! donc effectivement chaque cellule sera ecrasé mais ça ne pose de problème puisqu'il s'agit de la meme donnée.

Eric S, le calcul bloque lorsque dans le tableau le programme tombe sur une donnée non numérique du style 'nd' puisque je n'ai pas la donnée !

comment faire pour que le programme ne s'arrête pas à cette erreur et continue le calcul !

du style : si(esterreur(a * b);'nd';a *b ) mais en vba ?!

merci
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

  • Question Question
XL 2021 VBA excel
Réponses
4
Affichages
224
Réponses
2
Affichages
411
Réponses
4
Affichages
284
Réponses
3
Affichages
713
Réponses
17
Affichages
2 K
Retour