Probleme de prog vba

Fermé
Utilisateur anonyme - 11 juin 2013 à 16:01
 Utilisateur anonyme - 12 juin 2013 à 13:32
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

redaiwa Messages postés 351 Date d'inscription mardi 7 octobre 2008 Statut Membre Dernière intervention 25 janvier 2024 119
11 juin 2013 à 16:30
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.
0
Utilisateur anonyme
11 juin 2013 à 16:58
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
0
redaiwa Messages postés 351 Date d'inscription mardi 7 octobre 2008 Statut Membre Dernière intervention 25 janvier 2024 119
Modifié par redaiwa le 12/06/2013 à 10:24
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.
0
Utilisateur anonyme
12 juin 2013 à 13:32
Merci c'est presque ça que j'essayais de bidouiller je vais mixer les deux codes puis ça devrais marché encore merci!
0