Macro pour MAJ des donnees sur une autre feuille

  • Initiateur de la discussion Initiateur de la discussion Delux
  • 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 !

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

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
 
- 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