Passage de données d'une feuille à une autre en fonction d'une cellule

Bonjour,

J'ai vu dans le forum des réponses à cette même question mais je n'arrive pas à appliquer les solutions,

Pour info il n'y a pas de message d'erreur, se sont les bonnes données qui sont sélectionnées quand je lance ma macro en pas à pas, mais les données ne sont pas transcrite

soyer indulgent c'est mon premier code VBA, merci de votre aide ^^

Public Const P1_ColEcart = 1
Public Const P1_ColDoseHeure = 2
Public Const P1_ColDatePrev = 3
Public Const P1_ColTempsProd = 4
Public Const P1_ColArret = 5
Public Const P1_ColDatefin = 6
Public Const P1_ColQxHeure = 7
Public Const P1_ColNettoyage = 8
Public Const P1_ColCreaDate = 9
Public Const P1_ColESP = 10
Public Const P1_ColVar = 11
'Public Const P1_Col = 12
Public Const P1_ColCodTrait = 13
Public Const P1_ColTrait = 14
Public Const P1_ColER = 15
Public Const P1_ColNumOrdre = 16
Public Const P1_ColNumLot = 17
Public Const P1_ColNBSac = 18
Public Const P1_ColPdsSac = 19
Public Const P1_ColPdsLot = 20
Public Const P1_ColRaiSoc = 21
Public Const P1_ColCodSac = 22
Public Const P1_ColOfClt = 23
Public Const P1_ColNBPal = 24
Public Const P1_ColCodConstitPal = 25
Public Const P1_ColPalettisation = 26
Public Const P1_Rg = "A5:Z"
Public Const P1_av_LgDebut = 5

Public Const EN_1920_ColNumOrdre = 1
Public Const EN_1920_ColCreaBy = 2
Public Const EN_1920_ColCreaDate = 3
Public Const EN_1920_ColNumLot = 4
Public Const EN_1920_ColTypeEns = 5
Public Const EN_1920_ColPMG = 6
Public Const EN_1920_ColGRK = 7
Public Const EN_1920_ColNBSac = 8
Public Const EN_1920_ColNBPal = 9
Public Const EN_1920_ColPdsSac = 10
Public Const EN_1920_ColPdsLot = 11
Public Const EN_1920_ColCodeEsp = 12
Public Const EN_1920_ColESP = 13
Public Const EN_1920_ColCodeVar = 14
Public Const EN_1920_ColVar = 15
Public Const EN_1920_ColRaiSoc = 16
Public Const EN_1920_ColER = 17
Public Const EN_1920_ColCodSac = 18
Public Const EN_1920_ColCodConstitPal = 19
Public Const EN_1920_ColPalettisation = 20
Public Const EN_1920_ColCodCR = 21
Public Const EN_1920_ColCodEtatOF = 22
Public Const EN_1920_ColOfClt = 23
Public Const EN_1920_ColCodTrait = 24
Public Const EN_1920_ColTrait = 25
Public Const EN_1920_ColDateFin = 26

Public Const EN_1920_Rg = "A2:Z"

Sub renseignerchamp()
    Dim ligne As Long
    Dim numOrdre As String

    Dim dernLigne As Long
    Dim i As Long
    Dim P1() As Variant
    Dim stockreq() As Variant
    Dim b As Long

    Sheets("ENSACHAGE").Select
    With Sheets("ENSACHAGE")
        If .FilterMode Then
            .ShowAllData
        End If
        dernLigne = .Cells.Find("*", [A1], , , 1, 2).Row

        stockreq() = Range(EN_1920_Rg & dernLigne)
    End With

    Sheets("P1").Select
    With Sheets("P1")
        If .FilterMode Then
            .ShowAllData
        End If
        dernLigne = .Cells.Find("*", [A1], , , 1, 2).Row

        P1() = Range(P1_Rg & dernLigne)
    End With

    Sheets("P1").Select

    'Boucle qui s'exécute tant qu'il y quelque chose sur ligne
    For ligne = 1 To UBound(P1, 1)
        numOrdre = P1(ligne, P1_ColNumOrdre)

        'Si le numéro d'ordre est vide, on passe directement à la ligne suivante.
        If numOrdre <> "" Then
            b = 0
            For i = 1 To UBound(stockreq, 1)
                If numOrdre = stockreq(i, EN_1920_ColNumOrdre) Then
                    b = i
                    i = UBound(stockreq, 1)
                End If
            Next i

            'On enregistre les valeurs de la requête
            'dans la colonne correspondante.
            If b = 0 Then

                P1(ligne, P1_ColDatefin) = 0
                P1(ligne, P1_ColCreaDate) = 0
                P1(ligne, P1_ColESP) = 0
                P1(ligne, P1_ColVar) = 0
                P1(ligne, P1_ColCodTrait) = 0
                P1(ligne, P1_ColTrait) = 0
                P1(ligne, P1_ColER) = 0
                P1(ligne, P1_ColNumOrdre) = 0
                P1(ligne, P1_ColNumLot) = 0
                P1(ligne, P1_ColNBSac) = 0
                P1(ligne, P1_ColPdsSac) = 0
                P1(ligne, P1_ColPdsLot) = 0
                P1(ligne, P1_ColRaiSoc) = 0
                P1(ligne, P1_ColCodSac) = 0
                P1(ligne, P1_ColOfClt) = 0
                P1(ligne, P1_ColNBPal) = 0
                P1(ligne, P1_ColCodConstitPal) = 0
                P1(ligne, P1_ColPalettisation) = 0

                Else
                P1(ligne, P1_ColDatefin) = stockreq(b, EN_1920_ColDateFin)
                P1(ligne, P1_ColCreaDate) = stockreq(b, EN_1920_ColCreaDate)
                P1(ligne, P1_ColESP) = stockreq(b, EN_1920_ColESP)
                P1(ligne, P1_ColVar) = stockreq(b, EN_1920_ColVar)
                P1(ligne, P1_ColCodTrait) = stockreq(b, EN_1920_ColCodTrait)
                P1(ligne, P1_ColTrait) = stockreq(b, EN_1920_ColTrait)
                P1(ligne, P1_ColER) = stockreq(b, EN_1920_ColER)
                P1(ligne, P1_ColNumLot) = stockreq(b, EN_1920_ColNumLot)
                P1(ligne, P1_ColNBSac) = stockreq(b, EN_1920_ColNBSac)
                P1(ligne, P1_ColPdsSac) = stockreq(b, EN_1920_ColPdsSac)
                P1(ligne, P1_ColPdsLot) = stockreq(b, EN_1920_ColPdsLot)
                P1(ligne, P1_ColRaiSoc) = stockreq(b, EN_1920_ColRaiSoc)
                P1(ligne, P1_ColCodSac) = stockreq(b, EN_1920_ColCodSac)
                P1(ligne, P1_ColOfClt) = stockreq(b, EN_1920_ColOfClt)
                P1(ligne, P1_ColNBPal) = stockreq(b, EN_1920_ColNBPal)
                P1(ligne, P1_ColCodConstitPal) = stockreq(b, EN_1920_ColCodConstitPal)
                P1(ligne, P1_ColPalettisation) = stockreq(b, EN_1920_ColPalettisation)

            End If
        End If
    Next ligne
    End Sub
    

j'allais oublier, la solution est une chose mais j'aimerais que vous m’expliquer où je me suis planté

Bonjour,

Tu oublies semble-t-il de restituer les données de P1 dans la feuille de calcul !?

Cdlt.

Bonjour Jean-Eric,

Le but est de passer les données vers P1, depuis la feuille ensachage

Bonjour,

avez vous une idée de comment reporter les données ?

bonne journée

Rechercher des sujets similaires à "passage donnees feuille fonction"