Erreur code VBA
Bonjour à tous, je m'adresse à vous pour avoir de l'aide pour corriger mon code VBA qui calcule la différence des montants entre deux classeurs différents puis afficher les résultat dans le premier classeur selon la catégorie qui est présentée dans la premier colonne de chaque classeur, voila mon code est compréhensible, mon premier problématique est que le code ne renvoie pas de résultats juste que pour la dernière ligne !!!
Voici mon code
Sub Bouton1_Cliquer()
Dim GAM As String
Dim Montant As String
Dim Resultat As String
Dim CompteurLigneFeuille1
Dim compteurLigneFeuille2
Dim NomFeuille
Dim ContenuCaseFeuille1
NomFeuille = "Feuil1"
NomSecondeFeuille = "Feuil2"
ColonneAScruterFeuille1 = 1
ColonneAScruterFeuille2 = 1
ColonneResultat = 3
ColonneFeuille1 = 2
ColonneFeuille2 = 2
CompteurLigneFeuille1 = 2
Do
Sheets(NomFeuille).Select
ContenuCaseFeuille1 = Trim(Cells(CompteurLigneFeuille1, ColonneAScruterFeuille1).Value)
trouve = 0
Sheets(NomSecondeFeuille).Select
compteurLigneFeuille2 = 2
Do
ContenuCaseFeuille2 = Trim(Cells(compteurLigneFeuille2, ColonneAScruterFeuille2).Value)
If LCase(ContenuCaseFeuille1) = LCase(ContenuCaseFeuille2) Then
trouve = 1
Exit Do
End If
compteurLigneFeuille2 = compteurLigneFeuille2 + 1
DoEvents
Loop While Len(ContenuCaseFeuille2) > 0
If Len(ContenuCaseFeuille1) > 0 Then
If trouve = 1 Then
Sheets(NomFeuille).Select
Cells(CompteurLigneFeuille1, ColonneResultat).Value = Cells(CompteurLigneFeuille1, ColonneFeuille1).Value + Cells(compteurLigneFeuille2, ColonneFeuille2).Value
Else
Sheets(NomFeuille).Select
Cells(CompteurLigneFeuille1, ColonneResultat).Value = "Pas Grave"
End If
End If
CompteurLigneFeuille1 = CompteurLigneFeuille1 + 1
DoEvents
Loop While Len(ContenuCaseFeuille1) > 0
MsgBox "Terminé"
End Sub
J espéré bien que klk1 puisse m'aider et Merci d'avance
Bonjour et bienvenu(e)
Un fichier serait très utile dans ce cas
Merci beaucoup pour votre réponse
Voila j'ai joint le fichier, je m'excuse je n'ai pas bien expliquer dans mon premier message,
La feuille 1 contient la liste des ventes par catégorie (2 colonnes : catégorie et montant), la feuille 2 contient la liste des avoirs par catégorie aussi (même chose 2 colonnes : catégorie et montant), pour calculer le montant exact des ventes je dois faire la soustraction entre les deux colonnes MONTANT, pour cela j'ai inséré une colonne RÉSULTAT (sur la première feuille pour réduire la complexité du code, pour une débutante comme moi bien sure
Merci infiniment Banzai64 pour votre aide, Votre code est optimiser est très efficace , j'ai deux autres questions si vous me permettez 'Bien sure
Si une CATEGORIE existe dans la deuxième feuille mais ne figure pas dans la première comment peux résous ce problématique?
Pour ma deuxième quetion, mes deux tableaux sont extrait a partir d'une requête Oracle, dans ce cas les Montants factures et ventes sont relier à des date, je veux ajouter un DATETIMEPICKER pour sélectionner la date, est ce que c'est faisable en VBA?
Merci beaucoup j espéré bien que vous aurez des idées pour résoudre mes deux problématique
P.S. : j aimerai bien que vous m'expliquer l'erreur dans mon premier code vba et si vous avez des conseils ou des remarques qui peuvent être utiles pour moi dans d'autre code!
Bonjour,
Une proposition à étudier avec TCD, qui peut s'avérer inadaptée, si on doit augmenter le nombre de colonnes des tableaux.
La formule de l'élément calculé peut-être modifiée.
Pour la procédure VBA, faire ALT 11 et aller dans le module modPT.
Cdlt.
Un grand merci Jean-Eric, en lisant votre code, je vois que vous êtes vraiment habile en VBA et je l’espère être comme vous un jour et pour cette raison que j vous demande si y a un livre ou bien klk documentation pour améliorer mon niveau en programmation surtout quand il s'agit des traitement sur les tableaux.
Sinon je suis vraiment reconnaissante pour votre aide