Macro pour MAJ des donnees sur une autre feuille

Delux

XLDnaute Occasionnel
Bonjour a tous,

Veuillez m'excuser pour les accents je travaille sur QWERTY.

J'ai une petite question,

Je souhaiterais remplacer les donnees de la feuille "Register" par celles en vert dans la feuille "Update".

Dans la feuille "Register" j'ai toutes mes donnees enregistrees.
Sur la feuille "Update", j'ai importe (par une macro que je n'ai pas mis dans le fichier exemple) les informations qui possedent des modifications (en vert).

Je souhaite donc appliquer les modifications (cellules en vert sur la feuille "Update") sur la feuille "Register".
Les donnees qui ne doivent pas changer sont en colonne B "TAG Number" (identifiant unique). On peut donc se baser sur ces cellules pour faire une recherche et coller les infos MAJ.

L'ordre des lignes peut changer mais pas celui des colonnes.

Voici un petit bout de code:
Code:
Sub update_info()

Dim mySource As Range
Dim Cel As Range
Dim dl As Integer
Dim dll As Integer
Dim dc As Byte
Dim dcc As Byte

On Error Resume Next

Application.ScreenUpdating = False

Sheet2.Select

dl = Sheet2.Range("B65489").End(xlUp).Row 'Derniere ligne Sheet2
dc = Sheet2.Range("A9").End(xlToRight).Column 'Derniere Colonne Sheet2
dll = Sheet1.Range("B65489").End(xlUp).Row 'Derniere ligne Sheet1
dcc = Sheet1.Range("A9").End(xlToRight).Column 'Derniere Colonne Sheet1

Set mySource = Sheet2.Range(Cells(10, 2), Cells(dl, dc))
'Definit la source avec un range Variable

For Each Cel In mySource
    Colonne = Split(Cel.Address, "$")(1) 'Lettre de la colonne
    
    If Cel.Interior.ColorIndex = 4 Then 'Si la cellule est verte
        
        'Il faudrait copier la cellule et la coller _
        au bon endroit sur la feuille "Register"

    End If
Next Cel

End Sub

Je pense qu'il faut faire un find puis un cel.address mais je ne vois pas comment faire :(

Je suis ouvert a toutes suggestions :)

Merci d'avance

Cordialement,

Delux
 

Pièces jointes

  • Test123.xlsm
    17.8 KB · Affichages: 38
  • Test123.xlsm
    17.8 KB · Affichages: 40
  • Test123.xlsm
    17.8 KB · Affichages: 40

pierrejean

XLDnaute Barbatruc
Re : Macro pour MAJ des donnees sur une autre feuille

Bonjour Deluxe

Teste:

Code:
Sub update_info()
Set mySource = Sheets("Update").Range("A10:F" & Sheets("Update").Range("A" & Rows.Count).End(xlUp).Row)
For Each Cel In mySource
  If Cel.Interior.ColorIndex = 4 Then
    x = Sheets("Update").Cells(Cel.Row, 2)
    Set c = Sheets("Register").Columns("B").Find(x, LookIn:=xlValues, lookat:=xlWhole)
    If Not c Is Nothing Then
      Cel.Copy Destination:=Sheets("Register").Cells(c.Row, Cel.Column)
    End If
  End If
Next
End Sub
 

Discussions similaires

Réponses
0
Affichages
137

Membres actuellement en ligne

Aucun membre en ligne actuellement.

Statistiques des forums

Discussions
312 105
Messages
2 085 350
Membres
102 870
dernier inscrit
Armisa