Récupération de données (résolu)

aredo

XLDnaute Occasionnel
bonjour,

Une demande dans le fichier joint, concernant un fichier de gestion basique en entreprise.
J'espère être clair , il me semble que le passage en vba soit nécessaire. Je vous serez gré de bien vouloir me mettre sur une piste, pour un novice.
merci pour votre savoir
 

Pièces jointes

  • recupdonnee.xlsx
    26.7 KB · Affichages: 38

aredo

XLDnaute Occasionnel
Bonjour JBARBE,

Bien, malheureusement ce code ne correspond pas à ma demande. Désolé d'avoir insisté, j'ai pensé qu'il y aurait une solution.

Car le but est de garder une trace de toutes les saisies, et d'automatiser cette tache.

On rentre seulement des saisies dans les "feuilles 1 et 2" toujours dans les mêmes cases (la nouvelle saisie efface l'ancienne etc …) sans autre manip, puis elles s'ajoutent dans "compteur 1 et 2", ligne après ligne.

Sinon, je fais ça manuellement et ça prend du temps sans parler des oublis.

En tout cas merci encore d'avoir travaillé sur ce problème.

Bonne journée
 

JBARBE

XLDnaute Barbatruc
Bonjour JBARBE,
On rentre seulement des saisies dans les "feuilles 1 et 2" toujours dans les mêmes cases (la nouvelle saisie efface l'ancienne etc …) sans autre manip, puis elles s'ajoutent dans "compteur 1 et 2", ligne après ligne.
Re,
Tiens, encore du nouveau ! ça n'en fini pas !
J'abandonne parce que à chaque fois il y a une nouvelle demande sans avoir précisé au départ ce que tu voulais !
@+
 

klin89

XLDnaute Accro
Bonsoir à tous, :)

Aredo : efface toutes tes annotations dans tes différentes feuilles.

Avec le fichier du post #8, à placer dans le ThisWorkbook
J'ai formaté les cellules (colonnes b & c) des feuilles (compteur1 et compteur2) au format standard

Question : en feuil1 et feuil2, il n'y a pas de doublons en colonne A :cool: comme présenté au fichier du post #10
VB:
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
Dim i As Byte, j, col, derlig As Long, repere, r As Range
    repere = [{"Feuil1","compteur1","d";"Feuil2","compteur2","c"}]
    With Application
        For i = 1 To UBound(repere, 1)
            j = .Match(Sh.Name, .Index(repere, i, 0), 0)
            If IsNumeric(j) Then Exit For
        Next
    End With
    If Sh.Name = repere(1, 1) Or Sh.Name = repere(2, 1) Then
        On Error Resume Next
        Set r = Intersect(Target, Columns(repere(i, j + 2)), Rows("3:" & Rows.Count))
        On Error GoTo 0
        If r Is Nothing Then Exit Sub
        If r.Count > 1 Then Exit Sub
        If r.Value = "" Then Exit Sub
        Application.EnableEvents = False
        With Sheets(repere(i, j + 1))
            col = Application.Match(Cells(r.Row, 1).Value, .Rows(1), 0)
            If Not IsError(col) Then
                derlig = .Range("a" & Rows.Count).End(xlUp).Row + 1
                If .Cells(derlig - 1, 1).Value = Date Then
                    If .Cells(derlig - 1, col).Value = "" Then
                        derlig = .Range("a" & Rows.Count).End(xlUp).Row
                    End If
                End If
                .Cells(derlig, 1).Value = Date
                .Cells(derlig, col).Value = r.Value
            End If
        End With
        Set r = Nothing
        Application.EnableEvents = True
    End If
End Sub
klin89
 
Dernière édition:

aredo

XLDnaute Occasionnel
Bonjour klin 89,

Après plusieurs essais, j'ai pu valider ton code dans mon fichier. Bien construit, avec des termes précis, c'est vraiment ce que je voulais. Encore une fois, un talent de plus s'est manifesté pour me venir en aide. Encore merci à toi et à tous ceux qui font de ce forum une vraie alternative à l'ignorance. Le sens du partage est vraiment bien représenté ici.

Bonne continuation
 

Discussions similaires

Statistiques des forums

Discussions
312 331
Messages
2 087 360
Membres
103 528
dernier inscrit
hplus