XL 2010 Cellule qui s'annule dans le VBA

bruno93420

XLDnaute Nouveau
Bonjour a tous,

encore une fois je me retourne vers vous pour de l'aide. Je pense que se n'est pas super dur, mais je suis bloqué. J'ai fait une macro (simple).
Grossièrement je remplit la feuille "historique réception" (on vas l'appelé feuille 2) avec les informations de la feuille "anomalie retour qualité récep" (on va l'appeler feuille1)
Ma macro ajoute une ligne dans la feuille deux (ligne 4) et vas réponde les cellule de la feuille 1 (A4.B4.C4.D4.B10.D2.B22 etc...)
Lorsque la cellule feuil1;B10 est copié en cellule Feuil2;J4 l'ancienne information qui se trouvait en J4 s'efface au lieu de descendre d'une ligne.
Pourriez vous m'aider a modifier le VBA, pour que l'information Feuil2;J4 descende lors du lancement de la macro se lance
 

Pièces jointes

  • discrepancy_inbound.xlsm
    30.2 KB · Affichages: 6

Hasco

XLDnaute Barbatruc
Repose en paix
Bonsoir,

Dans le fichier joint, voyez la macro 'Transférer' attachée au bouton.

VB:
Sub Transferer()
    Dim shSource As Worksheet
    Dim NumAnomalie As Integer
    Set shSource = ThisWorkbook.Sheets("Anomalie retour Qualité Récep")
    '
    ' Travailler sur le tableau destination
    With ThisWorkbook.Sheets("HISTORIQUE RECEPTION").Range("C3").CurrentRegion
        NumAnomalie = Application.Max(.Columns(1)) + 1
       
        ' Faire descendre d'une ligne à partir de la 2
        .Rows(2).Insert xlShiftDown
        '
        'Remplir les données de la ligne 2
        With .Rows(2)
            .Cells(1) = NumAnomalie
            .Cells(2) = shSource.Range("A4").Value
            .Cells(3) = shSource.Range("B4").Value
            .Cells(4) = shSource.Range("C4").Value
            .Cells(5) = shSource.Range("A6").Value
            .Cells(6) = shSource.Range("B22").Value
            .Cells(7) = shSource.Range("D4").Value
            .Cells(8) = shSource.Range("B10").Value
        End With
    End With
    shSource.Range("D2") = NumAnomalie
    '
    ' Pour vider les cellules source
    ' décommenter les lignes suivantes.
'    With shSource
'        .Range("A4").ClearContents
'        .Range("B4").ClearContents
'        .Range("C4").ClearContents
'        .Range("A6").MergeArea.ClearContents ' plage fusionnée
'        .Range("B22").ClearContents
'        .Range("D4").ClearContents
'    End With
End Sub

P.S. avec excel 2010 vous pouvez utiliser les tableaux structurés :

Cordialement
 

Pièces jointes

  • discrepancy_inbound.xlsm
    37.1 KB · Affichages: 3

Discussions similaires

Réponses
5
Affichages
293

Statistiques des forums

Discussions
311 724
Messages
2 081 936
Membres
101 844
dernier inscrit
pktla