VBA mise à jour d'une feuille de calcul Excel

Georges_R Messages postés 8 Statut Membre -  
Georges_R Messages postés 8 Statut Membre -
Bonjour,
J'ai créé trois feuilles de calcul dans le classeur Excel.
1° liste (nommée "articles") des articles avec:
-> colonne A: désignation
-> colonne B: quantité initiale
-> colonne C: quantité disponible

2° feuille de saisie des entrées/sorties + calcul du nouveau disponible. Je l'ai nommée "Saisie"
3° journalisation des entrées/sorties (la base de données). je l'ai nommée "Journal"

Pouvez-vous me donner la technique pour mettre à jour la feuille "articles" avec la valeur du nouveau disponible de la feuille "saisie" svp?

Cordialement,
A voir également:

10 réponses

ponpon
 
Bonjour,
Votre lien pointe sur de la pub pour calculette Calcul 3.01 …
Alors on fait quoi !
0
Georges_R
 
Bonjour,

Cette liaison ne vient pas de mon fait et je ne comprends pas d'où elle vient. Elle n'a donc rien à voir avec mon problème.
Désolé!.

Voici ce que j'ai dans mon macro actuellement



Sub Enregistrer_la_saisie()
'
' Enregistrer_la_saisie Macro
' Macro enregistrée le 29/09/2009 par SILCA
'
' Verifier_si_une_cellule_B2_H2_est_vide Macro
' Macro enregistrée le 01/10/2009 par Georges
'
If Range("B2").Value = "" Then
MsgBox ("Attention: vous n'avez pas renseigné une cellule vide")
Exit Sub
End If
For Each Cellule In Range("D3:H2")
If Cellule.Value = 0 Then
MsgBox ("Attention: vous n'avez pas renseigné une cellule vide")

Exit Sub


End If

Next
'fin de vérification


'copie des informations dans le journal BD
ActiveWindow.ScrollColumn = 1
Sheets("BD").Select
Selection.EntireRow.Insert
Sheets("Saisie").Select
Range("A2:H2").Select
Selection.Copy
Sheets("BD").Select
Range("A2").Select
'Selection.EntireRow.Insert
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
Sheets("Saisie").Select
'ActiveWindow.ScrollColumn = 2
'ActiveWindow.ScrollColumn = 3
'Range("I8").Select
'ActiveSheet.Paste
'Application.CutCopyMode = False
'Range("I8:P8").Select

'C'est ici mon blocage pour la mise à jour de la cellule Saisie!colonne C
'comment mettre à jour la colonne C de l'article que je viens de saisir?
'Comment ajouter une alerte si colonne C est inférieure à colonne B?

' Réinitialisation des rubriques de saisie
Range("I7").Activate
Selection.ClearContents
Range("I12").Select
Selection.ClearContents
Range("I11").Select
ActiveCell.FormulaR1C1 = "=TODAY()"
Range("I12").Select
MsgBox ("Validation effectuée !")
End Sub
0
ponpon
 
Bonjour,
Je suis de retour après une grosse panne.
Pouvez-vous mettre votre exemple sur https://www.cjoint.com/ et poster le lien.
Se sera plus simple pour comprendre et adapter votre procédure.
0
Georges_R Messages postés 8 Statut Membre > ponpon
 
Bonjour,

J'ai mis l'exemple sur le site pour vous permettre de voir mon souci. J'ai fait de mon mieux mais je sens qu'il y a des maladresses de débutant.
Il me reste encore la partie consultation du journal par article ou par bénéficiaire.

Je vous remercie beaucoup de votre aide.
Cordialement,
0
ponpon > Georges_R Messages postés 8 Statut Membre
 
Bonjour,
Il manque juste le lien que vous a fourni [cjoint.com] !
Merci.
0
Georges_R > ponpon
 
J'en suis désolé !

Voici le lien créé par Cijoint.com. Et encore merci pour votre patience.

https://www.cjoint.com/?kmoZTX1bjw
0
ponpon
 
Bonjour,
Merci, c'est parfait.
Ma réponse pour demain, se soir c'est ma fête.
0
Georges_R
 
Bonne fête alors!
Il n'y rien qui presse. Bonne soirée!
0
ponpon
 
Bonjour,
Petite question : dans le tableau de saisie, sur la feuille [Saisie], pourquoi la quantité saisie doit être négative ?
Est-ce que se tableau sert à entrer le produit acheté et la quantité correspondante ?
Ou sert aussi comme sortie du stock ?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
ponpon
 
Bonjour,
J’ai un peu d’avance, j’ai adapté votre procédure [Sub Enregistrer_la_saisie()] pour la feuille [Saisie].
https://www.cjoint.com/?kmw5S6FYun
J’espère que c’est selon votre demande !
0
Georges_R
 
Bonjour,

C'est très rapide! Je vais le regarder.
Merci beaucoup!
0
Georges_R Messages postés 8 Statut Membre
 
Re-bonjour,

J'ai lu le code de la saisie et j'ai vu que j'avais des lignes inutiles.
Il y a un petit souci car chaque nouvelle saisie efface le contenu des anciennes saisies dans le journal "BD".

J'ai un autre souhait sur "Articles":
Comment forcer la copie pour que la nouvelle ligne que je viens d'insérer ne soit pas en gras?

Je vais continuer pour créer un code de suppression dans "articles" de telle sorte que les cellules de la colonne H ne soient pas impactées.

Merci pour votre aide!
0
ponpon
 
Bonjour,
Merci, je vais regarder ce soir.
0
ponpon
 
Bonjour,
Voir la feuille [Saisie] … https://www.cjoint.com/?knvFltiHb0
Note ; que comprendre par : ….. que les cellules de la colonne H ne soient pas impactées
0
Georges_R
 
Bonjour,

Lorsque je supprime manuellement une ligne d'article, (exemple la linge N°9), ce sont toutes les colonnes de cette ligne qui disparaissent. Du coup, le macro qui utilise les valeurs saisies dans la colonne H ne peuvent plus travailler.

Du coup, j'ai imaginé une fonction de suppression d'un article comme suit:

Sub Supprimer_article()
'
' Supprimer_article Macro
' Macro enregistrée le 13/10/2009 par Georges_R
'
nomart = Range("H25").Value
numligne = WorksheetFunction.Match(nomart, Sheets("Articles").Range("A:A"), 0)
MsgBox ("l article " & nomart & " se trouve en ligne " & numligne)

' Supprimer cette ligne

range("A" & numligne:"C" & numligne).Activate
'supprimer JUSTE les cellules ("A" & numligne ---> "C" & numligne)
Selection.Delete Shift:=xlUp
'
End Sub

Ce n'est pas une bonne synthaxe pour VBA ...

Question subsidiaire: Quelle est la différence entre .Range et Range ?

Cordialement,
0
Georges_R
 
Bonjour,

Je suis ravi du résultat dans la feuille "saisie" et (en plus )j'ai compris le contenu du code.
Merci!
0
ponpon
 
Bonjour,
Eh bien oui, si vous supprimer une ligne vous touchez aussi votre tableau de saisie.
Je vous fais une proposition en fin de journée.
0
ponpon
 
Bonjour,
Ci joint ma proposition, https://www.cjoint.com/?kovCV8yPAo
J'ai utilisé votre travail en le remodelant pour réaliser une page d'accueil ou vous avez l'ensemble des tableaux d’ajout, saisie et suppression.
0
Georges_R Messages postés 8 Statut Membre
 
Bonjour,

C'est vraiment génial! Je n'aurai pas trouvée meilleure idée.
Merci beaucoup!

Je vais tenter de faire fonctionner la consultation en m'inspirant de la fonction de suppression.

Merci!
0