Aide sur unee macro, erreur mais pk
Résolu
manautop
Messages postés
138
Date d'inscription
Statut
Membre
Dernière intervention
-
manautop Messages postés 138 Date d'inscription Statut Membre Dernière intervention -
manautop Messages postés 138 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
j ai developpe cette macro qui permet confronter deux tableaux avec plus ou moins les mm refferences etc en me creant un troisieme tableau qui met sur la mm lignes les caracteristique (qui different d une annee a l autre) d une mm reference mais cela bug
Sub testcompare()
Dim ws1 As Worksheet
Dim ws2 As Worksheet
Dim ws3 As Worksheet
Dim i1
Dim i2
Dim i3
Dim k
Dim kk
Dim z
Dim maxRow1 As Integer
Dim maxRow2 As Integer
Set ws1 = Worksheets(1)
Set ws2 = Worksheets(2)
Set ws3 = Worksheets(3)
maxRow1 = ws1.ActiveSheet.UsedRange.Rows.Count
maxRow2 = ws2.ActiveSheet.UsedRange.Rows.Count
i1 = ws1.Range("A1").End("4").Row
i2 = ws2.Range("A1").End("4").Row
With ws1
For k = 1 To maxRow1
z = .Range("A" & k)
For kk = 1 To maxRow2
If z = ws2.Range("A" & kk) Then
ws3.Range("A" & i3 + 1) = z
ws3.Range("B" & i3 + 1) = .Range("B" & k)
ws3.Range("C" & i3 + 1) = .Range("C" & k)
ws3.Range("D" & i3 + 1) = .Range("D" & k)
ws3.Range("E" & i3 + 1) = .Range("E" & k)
ws3.Range("F" & i3 + 1) = .Range("F" & k)
ws3.Range("G" & i3 + 1) = ws2.Range("B" & kk)
ws3.Range("H" & i3 + 1) = ws2.Range("C" & kk)
ws3.Range("I" & i3 + 1) = ws2.Range("D" & kk)
ws3.Range("J" & i3 + 1) = ws2.Range("E" & kk)
ws3.Range("K" & i3 + 1) = ws2.Range("F" & kk)
i3 = i3 + 1
End If
Next
Next
End With
End Sub
de plus si on enleve tout ce qui a attrait au maxRow le code est fonctionnel mais ne me donne pas en fin de tableau les reference unique... quelau un aurait il une solution ??
j ai developpe cette macro qui permet confronter deux tableaux avec plus ou moins les mm refferences etc en me creant un troisieme tableau qui met sur la mm lignes les caracteristique (qui different d une annee a l autre) d une mm reference mais cela bug
Sub testcompare()
Dim ws1 As Worksheet
Dim ws2 As Worksheet
Dim ws3 As Worksheet
Dim i1
Dim i2
Dim i3
Dim k
Dim kk
Dim z
Dim maxRow1 As Integer
Dim maxRow2 As Integer
Set ws1 = Worksheets(1)
Set ws2 = Worksheets(2)
Set ws3 = Worksheets(3)
maxRow1 = ws1.ActiveSheet.UsedRange.Rows.Count
maxRow2 = ws2.ActiveSheet.UsedRange.Rows.Count
i1 = ws1.Range("A1").End("4").Row
i2 = ws2.Range("A1").End("4").Row
With ws1
For k = 1 To maxRow1
z = .Range("A" & k)
For kk = 1 To maxRow2
If z = ws2.Range("A" & kk) Then
ws3.Range("A" & i3 + 1) = z
ws3.Range("B" & i3 + 1) = .Range("B" & k)
ws3.Range("C" & i3 + 1) = .Range("C" & k)
ws3.Range("D" & i3 + 1) = .Range("D" & k)
ws3.Range("E" & i3 + 1) = .Range("E" & k)
ws3.Range("F" & i3 + 1) = .Range("F" & k)
ws3.Range("G" & i3 + 1) = ws2.Range("B" & kk)
ws3.Range("H" & i3 + 1) = ws2.Range("C" & kk)
ws3.Range("I" & i3 + 1) = ws2.Range("D" & kk)
ws3.Range("J" & i3 + 1) = ws2.Range("E" & kk)
ws3.Range("K" & i3 + 1) = ws2.Range("F" & kk)
i3 = i3 + 1
End If
Next
Next
End With
End Sub
de plus si on enleve tout ce qui a attrait au maxRow le code est fonctionnel mais ne me donne pas en fin de tableau les reference unique... quelau un aurait il une solution ??
A voir également:
- Aide sur unee macro, erreur mais pk
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Jitbit macro recorder - Télécharger - Confidentialité
- Erreur 0x80070643 - Accueil - Windows
- Erreur 4101 france tv - Forum Lecteurs et supports vidéo
- J'aime par erreur facebook notification - Forum Facebook
28 réponses
Bonjour,
Eh oui une erreur de ma par dans le transfert du comptage du nombre de ligne si la feuille 2 est plus grande.
J’ai corrigé : http://www.cijoint.fr/cjlink.php?file=cj200911/cij7TZrBbq.xls
Note : votre code est correct mais il n’est pas nécessaire.
Eh oui une erreur de ma par dans le transfert du comptage du nombre de ligne si la feuille 2 est plus grande.
J’ai corrigé : http://www.cijoint.fr/cjlink.php?file=cj200911/cij7TZrBbq.xls
Note : votre code est correct mais il n’est pas nécessaire.
merci bien, effectivement plus de probleme je vais de ce pas comparer pour comprendre ou etait l erreur, un grand merci a vous
et tant mieux pour mon code car je n arrivais pas a le lancer sur deux page donne en mm temps lol
par contre si je ne suis pas fou si je fais nombre de reference de la page 1 + nombre de reference de la page 2 cela devrais etre egal en page trois au nombres de refernce du tableau 1 + nombre de reference du tableau 2
et ce n est pas le cas ou alors je fais erreur dans mon raisonnement ce qui est grandement possible
et tant mieux pour mon code car je n arrivais pas a le lancer sur deux page donne en mm temps lol
par contre si je ne suis pas fou si je fais nombre de reference de la page 1 + nombre de reference de la page 2 cela devrais etre egal en page trois au nombres de refernce du tableau 1 + nombre de reference du tableau 2
et ce n est pas le cas ou alors je fais erreur dans mon raisonnement ce qui est grandement possible
Bonjour,
Je suis vraiment désolé, à la suite de votre courriel j’ai eu une inquiétude.
Je contrôle correctement le déroulement de la procédure en pas à pas et je m’aperçois que je me suis trompé de feuille.
Cette fois c’est correct, se n’était que le compteur qui était mal placé : https://www.cjoint.com/?lqrIUGUxEV
Dans le dernier bloc : [c3 = c3 + 1] doit être entre [Next x2] et [End If]
Et le problème est réglé.
Excusez-moi pour se désagrément.
Je suis vraiment désolé, à la suite de votre courriel j’ai eu une inquiétude.
Je contrôle correctement le déroulement de la procédure en pas à pas et je m’aperçois que je me suis trompé de feuille.
Cette fois c’est correct, se n’était que le compteur qui était mal placé : https://www.cjoint.com/?lqrIUGUxEV
Dans le dernier bloc : [c3 = c3 + 1] doit être entre [Next x2] et [End If]
Et le problème est réglé.
Excusez-moi pour se désagrément.
Bonjour,
Finalement, pour avoir droit à une nuit paisible, j’ai réalisé un test rigoureux et maintenant le résultat est enfin correct.
Pour bien commencer la journée : http://www.cijoint.fr/cjlink.php?file=cj200911/cijPoyIObJ.xls
Finalement, pour avoir droit à une nuit paisible, j’ai réalisé un test rigoureux et maintenant le résultat est enfin correct.
Pour bien commencer la journée : http://www.cijoint.fr/cjlink.php?file=cj200911/cijPoyIObJ.xls
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Bonjour,
Après une bonne nuit, j’ai ajouté le tri, de sorte que les références se suivent dans l’ordre descendant. http://www.cijoint.fr/cjlink.php?file=cj200911/cijyk7gbh0.xls
Après une bonne nuit, j’ai ajouté le tri, de sorte que les références se suivent dans l’ordre descendant. http://www.cijoint.fr/cjlink.php?file=cj200911/cijyk7gbh0.xls
coucou ponpon
dsl du retard de reponse mais ma premeire reponse a pas marche ce matin et hier malade donc vraiment pas l envie d allumer un pc, les docteur ici sont malade.. diagnostic pour un mal de tete ? cette cochonerie de grippe et finalement hospital, stress et juste vertebre deplace qui me fillait migraine et autre....
enfin bon merci pour tout, j espere que ta nuit n'a pas ete trop agite... enfin ... heuu ... je me tais lol
je crois que j ai aprpis plein de chose et que j ai plein de chose a apprendre en voyant ta macro mais dans la conclusion je me permet une derniere question dois je garder module2 ou la macro ponpon se suffit a elle meme ???
un grqnd merci pour avoir repondu prensent pendant plus d une semaine merci merci
dsl du retard de reponse mais ma premeire reponse a pas marche ce matin et hier malade donc vraiment pas l envie d allumer un pc, les docteur ici sont malade.. diagnostic pour un mal de tete ? cette cochonerie de grippe et finalement hospital, stress et juste vertebre deplace qui me fillait migraine et autre....
enfin bon merci pour tout, j espere que ta nuit n'a pas ete trop agite... enfin ... heuu ... je me tais lol
je crois que j ai aprpis plein de chose et que j ai plein de chose a apprendre en voyant ta macro mais dans la conclusion je me permet une derniere question dois je garder module2 ou la macro ponpon se suffit a elle meme ???
un grqnd merci pour avoir repondu prensent pendant plus d une semaine merci merci