VBA - Récup. les données de plages et de cellules, et classer dans une autre feuille

  • Initiateur de la discussion Initiateur de la discussion Dams7160
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Dams7160

XLDnaute Nouveau
Bonsoir à tous,

Voici mon problème, j' ai une feuille ou se trouve des données que je souhaite enregistrer ligne par ligne dans une autre feuille.

Petite image pour illustrer : (Le fichier sera joint biensur)
Sans-titre-1.jpg

Chaque enregistrement doit contenir C4 et F4, mais une ligne par produit.

Comment puis-je, lors d'un clic sur une image récuperer les donnée de la plage D7😀37 en prenant compte du nombre d'enregistrement ?

Cellule par cellule je n'ai pas de problème mais pour une plage, je ne sais pas comment faire ....
 

Pièces jointes

  • Sans-titre-1.jpg
    Sans-titre-1.jpg
    43.5 KB · Affichages: 236
  • Sans-titre-1.jpg
    Sans-titre-1.jpg
    43.5 KB · Affichages: 232
  • Gestion.xlsm
    Gestion.xlsm
    41.4 KB · Affichages: 108
  • Gestion.xlsm
    Gestion.xlsm
    41.4 KB · Affichages: 100
  • Gestion.xlsm
    Gestion.xlsm
    41.4 KB · Affichages: 99
Re : VBA - Récup. les données de plages et de cellules, et classer dans une autre feu

Bonjour Dams,
Essaie cette macro
Attention j'utilise le codename des onglets.
Bruno
Code:
Sub encode()
With Feuil26
For k = 7 To [D6].End(4).Row
li = .[D65536].End(3).Row
lig = Application.Match(Cells(k, 4), .Range("C1:C" & li), 0)
If IsNumeric(lig) Then
.Cells(lig, 4) = .Cells(lig, 4) + Feuil24.Cells(k, 6)
Else
.Cells(li + 1, 3) = Feuil24.Cells(k, 4)
.Cells(li + 1, 4) = Feuil24.Cells(k, 6)
End If
Next
.Select
End With
End Sub
 
Re : VBA - Récup. les données de plages et de cellules, et classer dans une autre feu

Bonjour,

J'ai chercher pendant ma nuit,et voilà ce que j' ai fait ...µ
(autre fichier)
Est-ce correct ?!
quel modification dois-je faire ?

Sub encoder_donnée()
'
' encoder_donnée Macro
'
Dim MaDerLigneTab As Variant
MaDerLigneTab = Range("D37").End(xlUp).Offset(1, 0).Address
MaDerLigneTab = Range(MaDerLigneTab).Row - 1

For Each var_Rge In Range("D7😀" & MaDerLigneTab)
PROD = var_Rge.Value
LIGNEPROD = var_Rge.Row
QT = Range("F" & LIGNEPROD)
CONS = Range("C4")
SEM = Range("F4")
With Sheets(2)
MaLigne = Sheets(2).Range("C65536").End(xlUp).Offset(1, 0).Address
MaLigne = Sheets(2).Range(MaLigne).Row
Sheets(2).Range("A" & MaLigne) = CONS
Sheets(2).Range("B" & MaLigne) = SEM
Sheets(2).Range("C" & MaLigne) = PROD
Sheets(2).Range("D" & MaLigne) = QT
Sheets(2).Range("E" & MaLigne) = "OUT"
End With

Next var_Rge

Range("D7😀37").ClearContents
Range("F7:F37").ClearContents

MsgBox "Consomations enregistrées"

End Sub
 
Re : VBA - Récup. les données de plages et de cellules, et classer dans une autre feu

Re:
Ta macro ne recherche pas si un produit est dèja présent dans la feuille pour simplement ajouter la Qté
A éviter car grosse source d'erreur Sheets(2) numération car si on déplace l'onglet tout bug utilise plutot le codename
Même en déplacant ou renommant l'onglet c'est bon.
Voici un nouveau code j'avais oublié Conso & Date & effacement
Bruno
Code:
Sub encode()
With Feuil26
For k = 7 To [D6].End(4).Row
li = .[D65536].End(3).Row
lig = Application.Match(Cells(k, 4), .Range("C1:C" & li), 0)
If IsNumeric(lig) Then
.Cells(lig, 4) = .Cells(lig, 4) + Feuil24.Cells(k, 6)
Else
.Cells(li + 1, 1) = [D4]
.Cells(li + 1, 2) = [F4]
.Cells(li + 1, 3) = Feuil24.Cells(k, 4)
.Cells(li + 1, 4) = Feuil24.Cells(k, 6)
End If
Next
Range("D7:D37").ClearContents
Range("F7:F37").ClearContents
MsgBox "Consomations enregistrées"
End With
End Sub
 
Re : VBA - Récup. les données de plages et de cellules, et classer dans une autre feu

Ta macro ne recherche pas si un produit est déjà présent dans la feuille pour simplement ajouter la Qté

Sur quelle feuille ?
Chaque consommation correspond a une date et un consommateur, j' ajouterai simplement la qté si seulement il y a déjà une consommation à la même date et même consommateur...
 
Re : VBA - Récup. les données de plages et de cellules, et classer dans une autre feu

Voila, j' ai intégré le code a mon fichier...

Seulement me voila découragé, je ne sais pas comment faire pour pas qu'il soit si lent....

Est ce possible que ce soit a cause de trop de sommeprod ?
 

Pièces jointes

Re : VBA - Récup. les données de plages et de cellules, et classer dans une autre feu

Je viens de rectifier un chouillat les macros.
J'ai enlevé les fusions de cellules qui servent à rien et perturbes.
En effet il y a beaucoup trop de sommepro , dans ce fichier j'ai supprimé les formules pour tester la macro.
Sur ton dernier fichier si j'écris directement dans une cellule en Feuil2 il mets bien du temps pour valider.
J'ai aussi annulé en debut de macro la calculation et là remets en fin de macro et là ça plante grave!!!
Je ne me suis pas penché sur tes formules mais il va falloir trouver une autre façon de faire.
Je regarderai demain pour les formules
Bruno
 

Pièces jointes

Re : VBA - Récup. les données de plages et de cellules, et classer dans une autre feu

Re-bonjour....

Comment faire :s, sans sommeprod je sais pas trop vers quoi me diriger ....
Quelqu'un a une idée ?

Le concept du tableur est le suivant.
Je suis responsable de la gestion d'un magasin (pour des équipes d'ouvrier).
Dans ce tableur je dois retrouver plusieurs info :
-La consommation des équipes semaine après semaine minimum
-Le stock réelle
-Les livraisons reçue

Comment puis je construire ce tableur autrement, avec formulaire pour les entrées de données
 
Re : VBA - Récup. les données de plages et de cellules, et classer dans une autre feu

Salut Dams,
Sur ton fichier j'ai enlevé les formules sommeprod et les macros se chargent du reste.
J'y ai consacré plus de temps que prévu...et fait qlq correctifs
Bon test
Bruno
 

Pièces jointes

Re : VBA - Récup. les données de plages et de cellules, et classer dans une autre feu

MMmmm...

C'est propre et rapide 😀

Le problème c'est que je ne sais pas voir les consommations mois par mois, c'est un cumul. c'est bien ça ?

En tout cas merci pour le temps consacré ! Ça c'est clair !
 
Re : VBA - Récup. les données de plages et de cellules, et classer dans une autre feu

je bosse sur le sujet en ce moment justement ^^, avec outlook qui m'informe de tes faits et gestes 😛

Via les sommeprod je récupérais les dates en haut a gauche (Feuil3)...
qui me permettait de voir période par période :s

pour la Feuil4, pareil si je fais un inventaire et que je remet les stocks à jour, j'aurais des problèmes quand je vais encoder des consomations de la veille de l'inventaire par exemple.
via la date en haut de page je ne selectionnais que les sorties apres l'inventaire.

😛 oufty ^^ tu me suis toujours ?!
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Retour