A voir également:
- Code VBA : Croiser deux fichiers excel avec un SI et un recherch
- Code asci - Guide
- Code puk bloqué - Guide
- Code telephone oublié - Guide
- Code activation windows 10 - Guide
- Code gta 4 ps4 - Guide
3 réponses
Le Pingou
Messages postés
12141
Date d'inscription
mercredi 11 août 2004
Statut
Contributeur
Dernière intervention
19 septembre 2024
1 446
4 déc. 2015 à 18:28
4 déc. 2015 à 18:28
Bonjour,
C’est presque incompréhensible ce que vous voulez réaliser en comparant avec vos 2 fichiers.
Dommage que le code enregistrer n’est pas présent dans les fichiers !
C’est presque incompréhensible ce que vous voulez réaliser en comparant avec vos 2 fichiers.
Dommage que le code enregistrer n’est pas présent dans les fichiers !
michel_m
Messages postés
16603
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2023
3 306
Modifié par michel_m le 5/12/2015 à 09:39
Modifié par michel_m le 5/12/2015 à 09:39
Bonjour à tous,
Excuse l'incruste, Le Pingou
a l'attention de Driguez
pourquoi avoir ajouter des énigmes à ton énoncé comme dernière colonne= Cn? il aurait été aussi intéressant de savoir un ordre de grandeur des nombres de lignes...
tu ne connais ton tableau?
conclusion: ca complique inutilement la macro
voilà une proposition de "petit" code VBA
Michel
Excuse l'incruste, Le Pingou
a l'attention de Driguez
pourquoi avoir ajouter des énigmes à ton énoncé comme dernière colonne= Cn? il aurait été aussi intéressant de savoir un ordre de grandeur des nombres de lignes...
tu ne connais ton tableau?
conclusion: ca complique inutilement la macro
voilà une proposition de "petit" code VBA
Option Explicit
'-----------------------------------------------
Sub actualiser()
Dim Chemin As String
Dim Derlig As Integer, Dercol As Byte, T_patri
Dim T_princ, Dico As Object, Article As String, Cptr As Integer, Col As Byte
Application.ScreenUpdating = False
'-----------mémorisation des données "patri"
Chemin = "D:\docus\" 'A ADAPTER AU CONTEXTE
Workbooks.Open Filename:=Chemin & "patri.xlsx"
With Sheets(1)
Derlig = .Columns("C").Find(what:="*", searchdirection:=xlPrevious).Row
Dercol = .Rows(1).Find(what:="*", searchdirection:=xlPrevious).Column '!!!
T_patri = .Range(.Cells(2, 1), .Cells(Derlig, Dercol))
End With
With ActiveWorkbook
.Saved = True
.Close
End With
'----------mémorisation des données "principal"
With Sheets(1)
Derlig = .Columns("C").Find(what:="*", searchdirection:=xlPrevious).Row
Dercol = .Rows(1).Find(what:="*", searchdirection:=xlPrevious).Column '!!!
T_princ = Application.Transpose(.Range("B2:B" & Derlig))
Set Dico = CreateObject("scripting.dictionary")
For Cptr = 1 To UBound(T_princ)
Article = T_princ(Cptr)
If Not Dico.exists(Article) Then Dico.Add Article, ""
Next
'------recherche article et inscription nouvel article
For Cptr = 1 To UBound(T_patri)
If Not Dico.exists(T_patri(Cptr, 3)) Then
Derlig = Derlig + 1
For Col = 1 To Dercol '!!!! danger si dercol princ>dercol patri
.Cells(Derlig, Col) = T_patri(Cptr, Col + 1)
Next
End If
Next
End With
End Sub
Michel
Le Pingou
Messages postés
12141
Date d'inscription
mercredi 11 août 2004
Statut
Contributeur
Dernière intervention
19 septembre 2024
1 446
5 déc. 2015 à 18:33
5 déc. 2015 à 18:33
Bonjour,
Petite question :
Pour trouver la dernière ligne j’utilise cette méthode :
Est-ce que la vôtre est plus efficace :
Salutations.
Le Pingou
Petite question :
Pour trouver la dernière ligne j’utilise cette méthode :
deli = .Cells(Rows.Count, "C").End(xlUp).Row
Est-ce que la vôtre est plus efficace :
Derlig = .Columns("C").Find(what:="*", searchdirection:=xlPrevious).Row
Salutations.
Le Pingou
michel_m
Messages postés
16603
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2023
3 306
>
Le Pingou
Messages postés
12141
Date d'inscription
mercredi 11 août 2004
Statut
Contributeur
Dernière intervention
19 septembre 2024
6 déc. 2015 à 08:39
6 déc. 2015 à 08:39
Bonjour
,C'est pareil, mais j'ai celle là en tête! ;o)
Bon Dimanche
,C'est pareil, mais j'ai celle là en tête! ;o)
Bon Dimanche
Le Pingou
Messages postés
12141
Date d'inscription
mercredi 11 août 2004
Statut
Contributeur
Dernière intervention
19 septembre 2024
1 446
6 déc. 2015 à 17:17
6 déc. 2015 à 17:17
Merci, de même
Salutations.
Le Pingou
Salutations.
Le Pingou
Bonjour Michel_m
Merci, désolé j'ai inversé l'ordre de colonne de deux fichier.
En gros je souhaiterai ajouter les articles du fichier Patri (colonne C) qui ne se sont pas dans les articles du fichier principal (colonne B) dans la dernière colonne vide.
Ps: Cn: c'est qui vaut à la dernière ligne de ma colonne
Ex: j'ai "coca" dans les article du fichier Patri non le fichier principal. En suit de suite
Je veux un peu abusé avec de question : comment adapte avec mon fichier original c'est à dire le fichier principal a une plage de B3:B5085 et le fichier Patri C3:C600
Je souhaiterai rajouter la première article dans la colonne 5086
Merci d'avance et bonne journée.
Bien Cdlt.
Merci, désolé j'ai inversé l'ordre de colonne de deux fichier.
En gros je souhaiterai ajouter les articles du fichier Patri (colonne C) qui ne se sont pas dans les articles du fichier principal (colonne B) dans la dernière colonne vide.
Ps: Cn: c'est qui vaut à la dernière ligne de ma colonne
Ex: j'ai "coca" dans les article du fichier Patri non le fichier principal. En suit de suite
Je veux un peu abusé avec de question : comment adapte avec mon fichier original c'est à dire le fichier principal a une plage de B3:B5085 et le fichier Patri C3:C600
Je souhaiterai rajouter la première article dans la colonne 5086
Merci d'avance et bonne journée.
Bien Cdlt.
Bonjour Michel,
Tu trouveras ci-joint mes deux fichiers Principal et Patri. pour le code tu pourras créer un nouveau module.
Bonne journée, merci avancé!
Voici les liens
pour patri : http://www.cjoint.com/c/ELijNJfRXAk et principal : http://www.cjoint.com/c/ELijPpj03Zk
En adaptant, ton code à mes deux fichiers ci-dessus, j'ai une erreur au niveau de cette ligne : .Cells(Derlig, Col) = T_patri(Cptr, Col + 1)
Bien Cdlmt.
Tu trouveras ci-joint mes deux fichiers Principal et Patri. pour le code tu pourras créer un nouveau module.
Bonne journée, merci avancé!
Voici les liens
pour patri : http://www.cjoint.com/c/ELijNJfRXAk et principal : http://www.cjoint.com/c/ELijPpj03Zk
En adaptant, ton code à mes deux fichiers ci-dessus, j'ai une erreur au niveau de cette ligne : .Cells(Derlig, Col) = T_patri(Cptr, Col + 1)
Bien Cdlmt.
Le Pingou
Messages postés
12141
Date d'inscription
mercredi 11 août 2004
Statut
Contributeur
Dernière intervention
19 septembre 2024
1 446
5 déc. 2015 à 10:26
5 déc. 2015 à 10:26
Merci michel_m,
Pas de problème.
Bon week-end
Pas de problème.
Bon week-end