Aller au contenu
  • Pas encore inscrit ?

    Pourquoi ne pas vous inscrire ? C'est simple, rapide et gratuit.
    Pour en savoir plus, lisez Les avantages de l'inscription... et la Charte de Zébulon.
    De plus, les messages que vous postez en tant qu'invité restent invisibles tant qu'un modérateur ne les a pas validés. Inscrivez-vous, ce sera un gain de temps pour tout le monde, vous, les helpeurs et les modérateurs ! :wink:

Messages recommandés

Posté(e)

Bonsoir à tous,

J'ai 2 feuilles dont l'une s'intitule "Balance" et retrace des n° de comptes en 1er colonne, en 2ième colonne des intitulés et en 3ième et 4 ième colonne des montants.

Je voudrais que ma macro recherche dans la 1ère colonne s'il figure des comptes 707. Si vrai, je voudrais faire le total de ces 707 et copier ce total dans la feuille 2 en cellule C8.

 

J'ai fait ce code qui ne fait rien :

 

Sub TransfertCalculMarge()

Worksheets("B100").Activate

Dim x As Integer ' declaration de variables

Dim y As Integer ' ligne dans feuille "Balance

Dim y2 As Integer ' Ligne dans feuille "My B400"

 

Dim Date_exercice1 As Date

Dim Date_exercice2 As Date

Dim Variat As String

Dim En_pourcentage As String

 

 

Dim total_annee_1 As Long

Dim total_annee_2 As Long

 

total_annee_1 = 0 ' Initialisation des variables

total_annee_2 = 0

 

Date_exercice1 = Sheets("Accueil").Cells(32, 5).Value

Date_exercice2 = Sheets("Accueil").Cells(36, 5).Value

 

Variat = ""

En_pourcentage = ""

 

y2 = 8

y = 11

 

 

 

' Boucle et condition afin de parcourir la colonne 1 de la balance et

' rechercher les n° cptes commencant par 707

 

Do While Sheets("Balance").Cells(y, 1).Value <> "" ' la boucle s'arrete quand la cellule

' est vide

 

If Left(Sheets("Balance").Cells(y, 1).Value, 3) = "707" Then ' test cherchant les comptes 707

total_annee_1 = total_annee_1 + Sheets("balance").Cells(y, 4).Value

y2 = y2 + 1

End If ' Fin de test

 

y = y + 1 ' Compteur de la boucle, on incremente de 1

 

Loop ' fin de la boucle

Sheets("b100").Cells(y2, 3).Value = total_annee_1

 

'-----------------------------------------

'On fait de même pour les 706

 

y2 = y2 + 1

 

Do While Sheets("Balance").Cells(y, 1).Value <> "" ' la boucle s'arrete quand la cellule est vide

 

If Left(Sheets("Balance").Cells(y, 1).Value, 3) = "706" Then '

total_annee_1 = total_annee_1 + Sheets("balance").Cells(y, 4).Valu

y2 = y2 + 1

End If ' Fin de test

 

y = y + 1 ' Compteur de la boucle, on incremente de 1

 

Loop ' fin de la boucle

 

Sheets("b100").Cells(y2, 3).Value = total_annee_1

End Sub

 

Merci de me venir en aide

Posté(e)

salut

 

il y'a plus simple pour faire tes tests sur les valeurs

 

Dim derval As Integer
Dim Cherche
Dim Compte707
Dim Compte706



Sheets("balance").acitivate

Compte707 = 0
Compte706 = 0


derval = Cells(Cells.Rows.Count, "A").End(xlUp).Row 'trouver la dernière ligne utilisée de la colonne A

'faire une boucle de recherche des valeurs 707 et 706

For I = 1 To derval
Cherche = Cells(I, 1).Value

If Cherche = "707" Then
Compte707 = Compte707 + Cherche

End If

If checrche = "706" Then
Compte706 = Compte706 + Cherche
End If

Next

 

 

ensuite je n'ai pas compris ce tu voulais faire du résultat.

je ne vois pas pourquoi la cellule devant acceuillir le résultat varie.

Posté(e)
salut

 

il y'a plus simple pour faire tes tests sur les valeurs

 

Dim derval As Integer
Dim Cherche
Dim Compte707
Dim Compte706



Sheets("balance").acitivate

Compte707 = 0
Compte706 = 0


derval = Cells(Cells.Rows.Count, "A").End(xlUp).Row 'trouver la dernière ligne utilisée de la colonne A

'faire une boucle de recherche des valeurs 707 et 706

For I = 1 To derval
Cherche = Cells(I, 1).Value

If Cherche = "707" Then
Compte707 = Compte707 + Cherche

End If

If checrche = "706" Then
Compte706 = Compte706 + Cherche
End If

Next

 

 

ensuite je n'ai pas compris ce tu voulais faire du résultat.

je ne vois pas pourquoi la cellule devant acceuillir le résultat varie.

 

Bonsoir,

Tout d'abord pardon pour la reprise tardive de ce sujet. Mais je ne comprends pas ce que tu entends par "la cellule devant accueillir le resultat varie". Est ce celà dont tu veux parler Scuny :

 

Sheets("b100").Cells(y2, 3).Value = total_annee_1

 

Si c'est celà , je veux placer le total des 707 dont une cellule bien définie, les 706 dans une autre cellule ect...

Rejoindre la conversation

Vous pouvez publier maintenant et vous inscrire plus tard. Si vous avez un compte, connectez-vous maintenant pour publier avec votre compte.
Remarque : votre message nécessitera l’approbation d’un modérateur avant de pouvoir être visible.

Invité
Répondre à ce sujet…

×   Collé en tant que texte enrichi.   Coller en tant que texte brut à la place

  Seulement 75 émoticônes maximum sont autorisées.

×   Votre lien a été automatiquement intégré.   Afficher plutôt comme un lien

×   Votre contenu précédent a été rétabli.   Vider l’éditeur

×   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insérez-les depuis une URL.

  • En ligne récemment   0 membre est en ligne

    • Aucun utilisateur enregistré regarde cette page.
×
×
  • Créer...