Macro recopie data fin du fichier sans reprendre les existants

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

U

undo

Guest
Bonjour à tous et bonne année 2008,🙂

Je souhaite trouver une macro qui vient rajouter des données dans un autre fichier à la suite du fichier.

Exemple et condition!

Nous avons deux fichiers : fich1 (Source), fich2 (destination) et Fich3 (resultat)

a) je veux supprimer les datas parasite du fich1 (ligne 1 à ligne 7).
b) je veux copier les datas de la colonne B (B2 à B+n) et la même chose sur la colonne D vers le fich2

Condition:

Je ne dois pas recopier les datas existant dans le fich2.


Merci pour votre support.🙄
Salutation
Undo
 

Pièces jointes

Re : Macro recopie data fin du fichier sans reprendre les existants

Bonjour,

voici une macro à mettre dans fich1:

Code:
Sub test()
Dim prenom As Range, prenom2 As Range, addresse As Range
Rows("1:7").Clear
For Each prenom In Range([B9], [B9].End(xlDown))
    Set addresse = prenom.Offset(0, 2)
    With Workbooks("fich2.xls").Sheets("Feuil1")
        Set prenom2 = .Cells.Find(prenom.Value, LookIn:=xlValues)
        If prenom2 Is Nothing Then Set prenom2 = .Range("A65536").End(xlUp).Offset(1, 0)
        prenom2 = prenom
        prenom2.Offset(0, 2) = addresse
    End With
Next
Workbooks("fich2.xls").Sheets("Feuil1").Activate
End Sub
 
Re : Macro recopie data fin du fichier sans reprendre les existants

Bonjour skoobi,

Merci pour ta réponse mais il y a pb car les datas existant sont remplace par la macro le but c'est de seulement rajouter à la suite du fichier sans touché à l'historique.
merci

slt
undo
 
Re : Macro recopie data fin du fichier sans reprendre les existants

Re bonjour,

voici le code corrigé:

Code:
Sub test()
Dim prenom As Range, prenom2 As Range, addresse As Range
Rows("1:7").Clear
For Each prenom In Range([B9], [B9].End(xlDown))
    Set addresse = prenom.Offset(0, 2)
    With Workbooks("fich2.xls").Sheets("Feuil1")
        Set prenom2 = .Cells.Find(prenom.Value, LookIn:=xlValues)
[B][COLOR="Red"]        If prenom2 Is Nothing Then
            Set prenom2 = .Range("A65536").End(xlUp).Offset(1, 0)
            prenom2 = prenom
            prenom2.Offset(0, 2) = addresse
        End If[/COLOR][/B]
    End With
Next
Workbooks("fich2.xls").Sheets("Feuil1").Activate
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
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
3
Affichages
667
Réponses
1
Affichages
1 K
O
Réponses
5
Affichages
2 K
P
Réponses
0
Affichages
582
Philinsa
P
N
  • Question Question
Réponses
5
Affichages
3 K
Retour