Aide sur unee macro, erreur mais pk
Résolu/Fermé
manautop
Messages postés
138
Date d'inscription
lundi 27 novembre 2006
Statut
Membre
Dernière intervention
24 janvier 2013
-
12 nov. 2009 à 15:00
manautop Messages postés 138 Date d'inscription lundi 27 novembre 2006 Statut Membre Dernière intervention 24 janvier 2013 - 19 nov. 2009 à 10:48
manautop Messages postés 138 Date d'inscription lundi 27 novembre 2006 Statut Membre Dernière intervention 24 janvier 2013 - 19 nov. 2009 à 10:48
A voir également:
- Aide sur unee macro, erreur mais pk
- Erreur 0x80070643 - Guide
- Macro word - Guide
- Macro logiciel - Télécharger - Organisation
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Macro recorder - Télécharger - Confidentialité
28 réponses
Bonjour,
Pour se faire une idée du problème, est-il possible de recevoir un exemple des 2 tableaux avec quelques données ainsi que le résultat à obtenir sur le troisième.
Pour se faire une idée du problème, est-il possible de recevoir un exemple des 2 tableaux avec quelques données ainsi que le résultat à obtenir sur le troisième.
manautop
Messages postés
138
Date d'inscription
lundi 27 novembre 2006
Statut
Membre
Dernière intervention
24 janvier 2013
3
12 nov. 2009 à 21:39
12 nov. 2009 à 21:39
coucou,
j ai laisse mon portable au boulot je t envoi ca des demain vers 10h00 pour toi... je suis pas en france lol
merci
j ai laisse mon portable au boulot je t envoi ca des demain vers 10h00 pour toi... je suis pas en france lol
merci
manautop
Messages postés
138
Date d'inscription
lundi 27 novembre 2006
Statut
Membre
Dernière intervention
24 janvier 2013
3
13 nov. 2009 à 10:32
13 nov. 2009 à 10:32
COUCOU ,
c est re moi, dsl du retard impossible de me lever ce matin lol
donc voila le lien http://www.cijoint.fr/cjlink.php?file=cj200911/cijSY260Qc.xls
donc la fichier original se trouve sur la derniere feuille "Oct 08 Oct 09"
pour les besoin de la macro je separe les deux tableau chacun sur sa propre page, pourquoi ? parce que je veux que cela soit utilisabe poour d autre tableau facilement
et si tu lance cette macro que j ai developpe au debut et qui marche
Sub testcompare()
Dim ws1 As Worksheet, ws2 As Worksheet, ws3 As Worksheet, i1, i2, i3, k, kk, z
Set ws1 = Worksheets(1)
Set ws2 = Worksheets(2)
Set ws3 = Worksheets(3)
i1 = ws1.Range("A1").End("4").Row
i2 = ws2.Range("A1").End("4").Row
With ws1
For k = 1 To 2029
z = .Range("A" & k)
For kk = 1 To 2049
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
tu as en page trois le resultat que je veux, enfin presque parce que j ai pas les reference qui sont presente une seul fois d eplus je voudrais automatiser la prise en compte des lignes
For k = 1 To 2029
For kk = 1 To 2049
c est a dire qu au lieu de 2049 ou autre chiffre se soit la macro elle mm qui prenne en compte toute les ligne utilise
pourquoi je me casse la tete alors que c est fonctionnel ? parce que j essaye de faire des macro qui soit utilisable le plus simplement possible par les gens c est a dire qui necessite pas d aller dans l editeur
voila merci
c est re moi, dsl du retard impossible de me lever ce matin lol
donc voila le lien http://www.cijoint.fr/cjlink.php?file=cj200911/cijSY260Qc.xls
donc la fichier original se trouve sur la derniere feuille "Oct 08 Oct 09"
pour les besoin de la macro je separe les deux tableau chacun sur sa propre page, pourquoi ? parce que je veux que cela soit utilisabe poour d autre tableau facilement
et si tu lance cette macro que j ai developpe au debut et qui marche
Sub testcompare()
Dim ws1 As Worksheet, ws2 As Worksheet, ws3 As Worksheet, i1, i2, i3, k, kk, z
Set ws1 = Worksheets(1)
Set ws2 = Worksheets(2)
Set ws3 = Worksheets(3)
i1 = ws1.Range("A1").End("4").Row
i2 = ws2.Range("A1").End("4").Row
With ws1
For k = 1 To 2029
z = .Range("A" & k)
For kk = 1 To 2049
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
tu as en page trois le resultat que je veux, enfin presque parce que j ai pas les reference qui sont presente une seul fois d eplus je voudrais automatiser la prise en compte des lignes
For k = 1 To 2029
For kk = 1 To 2049
c est a dire qu au lieu de 2049 ou autre chiffre se soit la macro elle mm qui prenne en compte toute les ligne utilise
pourquoi je me casse la tete alors que c est fonctionnel ? parce que j essaye de faire des macro qui soit utilisable le plus simplement possible par les gens c est a dire qui necessite pas d aller dans l editeur
voila merci
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
manautop
Messages postés
138
Date d'inscription
lundi 27 novembre 2006
Statut
Membre
Dernière intervention
24 janvier 2013
3
13 nov. 2009 à 11:57
13 nov. 2009 à 11:57
moi je suis en ecosse dans le sud de l ecosse a dumfries, il pleut envie de rester au lit
Bonjour,
Est-ce qu’il est possible d’avoir plusieurs fois la même référence (exemple : WJWAT01) dans la colonne [A] …… ? Oui / Non
Si la référence est unique alors on modifie la boucle de la feuille 2 en une recherche sur la colonne [A], se sera plus rapide !
Est-ce qu’il est possible d’avoir plusieurs fois la même référence (exemple : WJWAT01) dans la colonne [A] …… ? Oui / Non
Si la référence est unique alors on modifie la boucle de la feuille 2 en une recherche sur la colonne [A], se sera plus rapide !
manautop
Messages postés
138
Date d'inscription
lundi 27 novembre 2006
Statut
Membre
Dernière intervention
24 janvier 2013
3
13 nov. 2009 à 15:59
13 nov. 2009 à 15:59
coucou, non ce n est pas possible, il s agit de references des produits que l on a sur l annee doc tableau 1 annee 2008 et tableau 2 annee 2009
manautop
Messages postés
138
Date d'inscription
lundi 27 novembre 2006
Statut
Membre
Dernière intervention
24 janvier 2013
3
13 nov. 2009 à 16:53
13 nov. 2009 à 16:53
re coucou merci pour ta macro (je te tutoies lol)
mais le probleme reste le meme, sur l exemple il y a 44 lignes et apres la macro excel n en affiche que 35 car il ne met pas les references presentes une seule fois il me serait pratique de les afficher de la meme facon que sur la page trois (dans la bonne annee) en fin du reusltat ou ailleur pour etre plus simple
cela dit je vais dorenavant documenter mes macros et ton code est bien plus propre.
a la limite on pourrait peut etre relancer une comparaison a la suite qui afficherais les resultas non concordant ??
dsl pour les accents, je suis en qwerty
mais le probleme reste le meme, sur l exemple il y a 44 lignes et apres la macro excel n en affiche que 35 car il ne met pas les references presentes une seule fois il me serait pratique de les afficher de la meme facon que sur la page trois (dans la bonne annee) en fin du reusltat ou ailleur pour etre plus simple
cela dit je vais dorenavant documenter mes macros et ton code est bien plus propre.
a la limite on pourrait peut etre relancer une comparaison a la suite qui afficherais les resultas non concordant ??
dsl pour les accents, je suis en qwerty
Bonjour,
Merci je n'avais pas bien compris.
La correction va suivre avec en prime un autre manière de faire.
Merci je n'avais pas bien compris.
La correction va suivre avec en prime un autre manière de faire.
Bonjour,
J’ai apporté les modifications pour tenir compte de votre dernier courriel.
Voir le commentaire sur la feuille [Sheet1] : https://www.cjoint.com/?lnwWENLmK7
J’ai apporté les modifications pour tenir compte de votre dernier courriel.
Voir le commentaire sur la feuille [Sheet1] : https://www.cjoint.com/?lnwWENLmK7
manautop
Messages postés
138
Date d'inscription
lundi 27 novembre 2006
Statut
Membre
Dernière intervention
24 janvier 2013
3
16 nov. 2009 à 09:50
16 nov. 2009 à 09:50
coucou ponpon
dsl pour le retard mais c est le week end j ai visite un peu l ecosse
merci c est ce a quoi je voulais arriver sauf lol dsl, que si j ai plus de ligne en feuille deux il s arrete au nombre de lignes de la page 1... lol
et merci pour toute les annotations sur la macro ca explique plein de truc
dsl pour le retard mais c est le week end j ai visite un peu l ecosse
merci c est ce a quoi je voulais arriver sauf lol dsl, que si j ai plus de ligne en feuille deux il s arrete au nombre de lignes de la page 1... lol
et merci pour toute les annotations sur la macro ca explique plein de truc
Merci pour le courriel.
Au passage il est différent de celui du poste 13 … bizarre.
Copie :
coucou ponpon
merci c est ce a quoi je voulais arriver sauf lol dsl, que si j ai plus de ligne en feuille deux il s arrete au nombre de lignes de la page 1... lol
et merci pour toute les annotations sur la macro ca explique plein de truc
Voici la version qui tient compte des grandeurs des 2 fichiers : https://www.cjoint.com/?lqlqZACkrl
Au passage il est différent de celui du poste 13 … bizarre.
Copie :
coucou ponpon
merci c est ce a quoi je voulais arriver sauf lol dsl, que si j ai plus de ligne en feuille deux il s arrete au nombre de lignes de la page 1... lol
et merci pour toute les annotations sur la macro ca explique plein de truc
Voici la version qui tient compte des grandeurs des 2 fichiers : https://www.cjoint.com/?lqlqZACkrl
manautop
Messages postés
138
Date d'inscription
lundi 27 novembre 2006
Statut
Membre
Dernière intervention
24 janvier 2013
3
16 nov. 2009 à 11:30
16 nov. 2009 à 11:30
parce que je l ai edite de suite apres l avoir poste, parce que j ai oublie en me relisant de me excuser de ne pas avoir ete la du week end, alors que tu m as poste une reponse ce week end
manautop
Messages postés
138
Date d'inscription
lundi 27 novembre 2006
Statut
Membre
Dernière intervention
24 janvier 2013
3
16 nov. 2009 à 11:56
16 nov. 2009 à 11:56
re coucou
je te mets le fichier em entiers parce que j ai un probleme avec ta mecro mais je sais pas d ou lool parce que avec l exemple ca marche, mais avec le fichier que je te joint a la fin j ai un espace vide des deux cotes et ensuite encore des referneces
http://www.cijoint.fr/cjlink.php?file=cj200911/cijSMl4zFe.xls
de plus avec ce que tu m as corrige pour etre sur qu il ny a aucune ligne vide dans les tableaux j execute la macro suivante
Sub supp_lignes()
'détermine le numéro de la dernière ligne utilisée
dernLigne = ActiveSheet.UsedRange.Row + ActiveSheet.UsedRange.Count - 1
'désactive la mise à jour de l'écran afin d'accélérer les traitements
Application.ScreenUpdating = False
'Pour toutes les lignes en partant de la dernière
For I = dernLigne To 1 Step -1
'La fonction Excel CountA correspond à =NBVAL
If Application.WorksheetFunction.CountA(Rows(I)) = 0 Then
Rows(I).Delete Shift:=xlUp
End If
Next I
End Sub
je te mets le fichier em entiers parce que j ai un probleme avec ta mecro mais je sais pas d ou lool parce que avec l exemple ca marche, mais avec le fichier que je te joint a la fin j ai un espace vide des deux cotes et ensuite encore des referneces
http://www.cijoint.fr/cjlink.php?file=cj200911/cijSMl4zFe.xls
de plus avec ce que tu m as corrige pour etre sur qu il ny a aucune ligne vide dans les tableaux j execute la macro suivante
Sub supp_lignes()
'détermine le numéro de la dernière ligne utilisée
dernLigne = ActiveSheet.UsedRange.Row + ActiveSheet.UsedRange.Count - 1
'désactive la mise à jour de l'écran afin d'accélérer les traitements
Application.ScreenUpdating = False
'Pour toutes les lignes en partant de la dernière
For I = dernLigne To 1 Step -1
'La fonction Excel CountA correspond à =NBVAL
If Application.WorksheetFunction.CountA(Rows(I)) = 0 Then
Rows(I).Delete Shift:=xlUp
End If
Next I
End Sub
manautop
Messages postés
138
Date d'inscription
lundi 27 novembre 2006
Statut
Membre
Dernière intervention
24 janvier 2013
3
16 nov. 2009 à 12:10
16 nov. 2009 à 12:10
pas de probleme , merci pour votre aide, et surtout pour votre technique bougrement plus efficace, rapide que la mienne, serais ce l experience... lol vivement que j arrive a ce niveau
Bonjour,
Eh bien quelque fois l'expérience vient avec l'âge et en plus se n'est pas ma profession, alors courage et de la persévérance...
J’ai bien regardé le fichier, tout semble correcte … sauf qu’il n’y a pas la procédure que vous avez utilisé, alors je vais contrôler avec la mienne !
Eh bien quelque fois l'expérience vient avec l'âge et en plus se n'est pas ma profession, alors courage et de la persévérance...
J’ai bien regardé le fichier, tout semble correcte … sauf qu’il n’y a pas la procédure que vous avez utilisé, alors je vais contrôler avec la mienne !
manautop
Messages postés
138
Date d'inscription
lundi 27 novembre 2006
Statut
Membre
Dernière intervention
24 janvier 2013
3
16 nov. 2009 à 16:01
16 nov. 2009 à 16:01
bonjour,
j ai utilise votre procedure du poste 14
j ai utilise votre procedure du poste 14