A voir également:
- Probleme de prog vba
- Vba attendre 1 seconde ✓ - Forum VB / VBA
- Mkdir vba ✓ - Forum VB / VBA
- Vba récupérer valeur cellule ✓ - Forum VB / VBA
- Excel compter cellule couleur sans vba - Guide
- Vba range avec variable ✓ - Forum VB / VBA
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
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.
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.
Utilisateur anonyme
11 juin 2013 à 16:58
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
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
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
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:
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.
Utilisateur anonyme
12 juin 2013 à 13:32
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!