Probleme de prog vba

[Fermé]
Signaler
-
 Utilisateur anonyme -
Bonjour à tous.

Je dois programmer en vba sous excel et je suis dans une impasse. Le fichier excel doit faire un lien avec un autre fichier mais en vba je ne sais pas comment faire. J'ai appris à programmer vendredi le 7 juin 2013 , alors mes connaissances sont limites, surtout que j'essaie de le faire autodidacte .

J'ai de la difficulté à exprimer mon problème par écrit mais je vais essayer.

Merci de l'aide en avance!

Louif

4 réponses

Messages postés
346
Date d'inscription
mardi 7 octobre 2008
Statut
Membre
Dernière intervention
2 juin 2015
115
Salam louif07.

Cherche le mot "WORKBOOKS" dans l'aide de VBA. Cela te donnera une piste.

Si tu bloques, n'hésite pas à poser ton problème.

J'ai deux fichier excel on va les appeler A et B. Sur ma feuille A je rentre des numéros d'identification dans la colonne (par exemple) D . J'ai 73 numéros différent. Dans la colone de E je marque les prix. Quand je clique sur un bouton nommé mise a jour. Il devra ouvrir le fichier B et inscrire le montant total a coté du numéro. Dans la feuille A de la colone D les numéros peuvent se répéter alors il faudra que le programme additionne les montants des numéros par exemple le numéro 22533 se répete 10 fois et chaque montant doivent etre additionner. Voici la partie de programme que j'ai commencer :

Sub Bouton108_Clic()


'________56000___________
Dim budjet2 As Double
Dim b2 As Double ' variable pour la boucle
Dim z2 As Double
Dim a2 As Double



'________56000___________

Range("H14").Select
budjet2 = ActiveCell.Value
Range("B2").Select
ActiveCell.Value = a2

For b = 0 To 1000




'________56000___________

Range("D5").Select
ActiveCell.Offset(b, 0).Select
If ActiveCell.Value = budjet2 Then

z2 = ActiveCell.Offset(0, 1).Value
a2 = a2 + z2
End If

Next


'________56000___________


Range("m30").Select

ActiveCell.Value = a2


End Sub
Messages postés
346
Date d'inscription
mardi 7 octobre 2008
Statut
Membre
Dernière intervention
2 juin 2015
115
Salam louif07.

Voici un exemple que tu pourras essayer et adapter à ton cas : https://www.cjoint.com/?CFmko4MgyZz


Explications:

Dans le feuille 1, tu as les identifiants en colonne D et les montants associées en colonne E.
Dans la feuille 2, tu saisis l'identifiant souhaité dans la cellule D2 et tu obtiens en E2 le total des montants qui lui correspondent.

Voici le code à placer au niveau de la feuille 2:

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$D$2" Then ' n'exécuter le code que si la saisie a été effectuée en D2
  With Sheets("Feuil1")
    ligne = 2 ' la ligne où commencent les données de la feuille 1
    Range("E2") = 0 ' initialise le total à 0
    While .Cells(ligne, 4) <> "" ' répète la boucle tant qu'il y a encore des valeurs
      If .Cells(ligne, 4) = Target Then Range("E2") = Range("E2") + .Cells(ligne, 5)
      ligne = ligne + 1
    Wend
  End With
End If
End Sub

Voilà, j'espère que cela correspond à ce que tu voulais.

Merci c'est presque ça que j'essayais de bidouiller je vais mixer les deux codes puis ça devrais marché encore merci!