Probleme de prog vba
Utilisateur anonyme
-
Utilisateur anonyme -
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
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
A voir également:
- Probleme de prog vba
- Excel compter cellule couleur sans vba - Guide
- Vba récupérer valeur cellule ✓ - Forum VB / VBA
- Vba sleep ✓ - Forum VB / VBA
- Vba excel sélectionner une plage de cellules variable ✓ - Forum VB / VBA
- Find vba - Astuces et Solutions
4 réponses
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.
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
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
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:
Voilà, j'espère que cela correspond à ce que tu voulais.
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.