Aide VBA excel
Résolu/Fermé
enark78
-
2 févr. 2010 à 09:55
Farfadet88 Messages postés 6293 Date d'inscription lundi 28 janvier 2008 Statut Membre Dernière intervention 29 avril 2020 - 2 févr. 2010 à 14:21
Farfadet88 Messages postés 6293 Date d'inscription lundi 28 janvier 2008 Statut Membre Dernière intervention 29 avril 2020 - 2 févr. 2010 à 14:21
A voir également:
- Aide VBA excel
- Liste déroulante excel - Guide
- Si et excel - Guide
- Word et excel gratuit - Guide
- Aller à la ligne excel - Guide
- Excel compter cellule couleur sans vba - Guide
15 réponses
Farfadet88
Messages postés
6293
Date d'inscription
lundi 28 janvier 2008
Statut
Membre
Dernière intervention
29 avril 2020
1 369
2 févr. 2010 à 10:11
2 févr. 2010 à 10:11
Sub Bouton1_QuandClic()
Dim i As Long
For i = 1 To 400 'nombre de ligne à contrôler
If Left(Range("a" & i), 3) = "eBI" Then
Sheets("Feuil2").Range("a65536").End(xlUp).Offset(1, 0) = Sheets("feuil1").Range("a" & i).Value
Sheets("Feuil2").Range("b65536").End(xlUp).Offset(1, 0) = Sheets("feuil1").Range("b" & i).Value
Sheets("Feuil2").Range("c65536").End(xlUp).Offset(1, 0) = Sheets("feuil1").Range("c" & i).Value
Sheets("Feuil2").Range("d65536").End(xlUp).Offset(1, 0) = Sheets("feuil1").Range("d" & i).Value
Sheets("Feuil2").Range("e65536").End(xlUp).Offset(1, 0) = Sheets("feuil1").Range("e" & i).Value
Sheets("Feuil2").Range("f65536").End(xlUp).Offset(1, 0) = Sheets("feuil1").Range("f" & i).Value
Sheets("Feuil2").Range("g65536").End(xlUp).Offset(1, 0) = Sheets("feuil1").Range("g" & i).Value
Sheets("Feuil2").Range("h65536").End(xlUp).Offset(1, 0) = Sheets("feuil1").Range("h" & i).Value
End If
If Left(Range("a" & i), 1) = "I" Then
Sheets("Feuil3").Range("a65536").End(xlUp).Offset(1, 0) = Sheets("feuil1").Range("a" & i).Value
Sheets("Feuil3").Range("b65536").End(xlUp).Offset(1, 0) = Sheets("feuil1").Range("b" & i).Value
Sheets("Feuil3").Range("c65536").End(xlUp).Offset(1, 0) = Sheets("feuil1").Range("c" & i).Value
Sheets("Feuil3").Range("d65536").End(xlUp).Offset(1, 0) = Sheets("feuil1").Range("d" & i).Value
Sheets("Feuil3").Range("e65536").End(xlUp).Offset(1, 0) = Sheets("feuil1").Range("e" & i).Value
Sheets("Feuil3").Range("f65536").End(xlUp).Offset(1, 0) = Sheets("feuil1").Range("f" & i).Value
Sheets("Feuil3").Range("g65536").End(xlUp).Offset(1, 0) = Sheets("feuil1").Range("g" & i).Value
Sheets("Feuil3").Range("h65536").End(xlUp).Offset(1, 0) = Sheets("feuil1").Range("h" & i).Value
End If
Next i
End Sub
Dim i As Long
For i = 1 To 400 'nombre de ligne à contrôler
If Left(Range("a" & i), 3) = "eBI" Then
Sheets("Feuil2").Range("a65536").End(xlUp).Offset(1, 0) = Sheets("feuil1").Range("a" & i).Value
Sheets("Feuil2").Range("b65536").End(xlUp).Offset(1, 0) = Sheets("feuil1").Range("b" & i).Value
Sheets("Feuil2").Range("c65536").End(xlUp).Offset(1, 0) = Sheets("feuil1").Range("c" & i).Value
Sheets("Feuil2").Range("d65536").End(xlUp).Offset(1, 0) = Sheets("feuil1").Range("d" & i).Value
Sheets("Feuil2").Range("e65536").End(xlUp).Offset(1, 0) = Sheets("feuil1").Range("e" & i).Value
Sheets("Feuil2").Range("f65536").End(xlUp).Offset(1, 0) = Sheets("feuil1").Range("f" & i).Value
Sheets("Feuil2").Range("g65536").End(xlUp).Offset(1, 0) = Sheets("feuil1").Range("g" & i).Value
Sheets("Feuil2").Range("h65536").End(xlUp).Offset(1, 0) = Sheets("feuil1").Range("h" & i).Value
End If
If Left(Range("a" & i), 1) = "I" Then
Sheets("Feuil3").Range("a65536").End(xlUp).Offset(1, 0) = Sheets("feuil1").Range("a" & i).Value
Sheets("Feuil3").Range("b65536").End(xlUp).Offset(1, 0) = Sheets("feuil1").Range("b" & i).Value
Sheets("Feuil3").Range("c65536").End(xlUp).Offset(1, 0) = Sheets("feuil1").Range("c" & i).Value
Sheets("Feuil3").Range("d65536").End(xlUp).Offset(1, 0) = Sheets("feuil1").Range("d" & i).Value
Sheets("Feuil3").Range("e65536").End(xlUp).Offset(1, 0) = Sheets("feuil1").Range("e" & i).Value
Sheets("Feuil3").Range("f65536").End(xlUp).Offset(1, 0) = Sheets("feuil1").Range("f" & i).Value
Sheets("Feuil3").Range("g65536").End(xlUp).Offset(1, 0) = Sheets("feuil1").Range("g" & i).Value
Sheets("Feuil3").Range("h65536").End(xlUp).Offset(1, 0) = Sheets("feuil1").Range("h" & i).Value
End If
Next i
End Sub
Farfadet88
Messages postés
6293
Date d'inscription
lundi 28 janvier 2008
Statut
Membre
Dernière intervention
29 avril 2020
1 369
2 févr. 2010 à 10:11
2 févr. 2010 à 10:11
Change bien les noms Feuil1, Feuil2 et Feuil3 en nom de tes feuilles
J'ai défini la macro pour les lignes 1 a 400 mais tu peux en mettre plus ou moins
J'ai défini la macro pour les lignes 1 a 400 mais tu peux en mettre plus ou moins
J'ai bien remplacé le nom des feuilels mais malheureusement ca ne marche pas. Je n'ai aucun message a l'execution de la macro mais elle ne fait apparemmentrien
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Farfadet88
Messages postés
6293
Date d'inscription
lundi 28 janvier 2008
Statut
Membre
Dernière intervention
29 avril 2020
1 369
2 févr. 2010 à 11:44
2 févr. 2010 à 11:44
colle ta macro ici
Farfadet88
Messages postés
6293
Date d'inscription
lundi 28 janvier 2008
Statut
Membre
Dernière intervention
29 avril 2020
1 369
2 févr. 2010 à 11:54
2 févr. 2010 à 11:54
Bizarre, la macro fonctionnait pourtant sur mon classeur.
As tu possibilité de poster ton classeur sur cijoint.fr?
As tu possibilité de poster ton classeur sur cijoint.fr?
Bon, en voulant te le mettre, je l'ai refait pour ne garder que l'essentiel, seulement ce dont le classeur avait besoin pour ce que je voulait et là, ça a marché. Je me suis donc probablement trompé quelque part en remplacant un nom de feuille ou autre. Je vais regarder ca et te tenir au courant. En tout cas, merci de ton aide
Farfadet88
Messages postés
6293
Date d'inscription
lundi 28 janvier 2008
Statut
Membre
Dernière intervention
29 avril 2020
1 369
2 févr. 2010 à 12:12
2 févr. 2010 à 12:12
Ok
Bon ben hésite pas si t'as d'autres questions
Bon ben hésite pas si t'as d'autres questions
enark78
Messages postés
417
Date d'inscription
mardi 2 février 2010
Statut
Membre
Dernière intervention
12 juillet 2012
17
2 févr. 2010 à 12:22
2 févr. 2010 à 12:22
Bon ba moi je ne vois pas de quoi ca peut venir, je sollicite donc encore un peu ton aide.
Le premier c'est mon classeur officiel, celui sur lequel j'effectue mon projet.
L'autre c'est la partie que j'avais refaite exprès pour te la poster, celle qui marche.
http://www.cijoint.fr/cjlink.php?file=cj201002/cij9YaZ4Tp.xls
http://www.cijoint.fr/cjlink.php?file=cj201002/cijoTnjiRe.xls
Le premier c'est mon classeur officiel, celui sur lequel j'effectue mon projet.
L'autre c'est la partie que j'avais refaite exprès pour te la poster, celle qui marche.
http://www.cijoint.fr/cjlink.php?file=cj201002/cij9YaZ4Tp.xls
http://www.cijoint.fr/cjlink.php?file=cj201002/cijoTnjiRe.xls
Farfadet88
Messages postés
6293
Date d'inscription
lundi 28 janvier 2008
Statut
Membre
Dernière intervention
29 avril 2020
1 369
2 févr. 2010 à 12:40
2 févr. 2010 à 12:40
Je ne comprends pas, tu as du te tromper dans le code
copie cette macro et lance la dans ton classeur officiel
Sub Bouton87_QuandClic()
Dim i As Long
For i = 1 To 400 'nombre de ligne à contrôler
If Left(Range("a" & i), 1) = "I" Then
Sheets("i fermés").Range("a65536").End(xlUp).Offset(1, 0) = Sheets("full").Range("a" & i).Value
Sheets("i fermés").Range("b65536").End(xlUp).Offset(1, 0) = Sheets("full").Range("b" & i).Value
Sheets("i fermés").Range("c65536").End(xlUp).Offset(1, 0) = Sheets("full").Range("c" & i).Value
Sheets("i fermés").Range("d65536").End(xlUp).Offset(1, 0) = Sheets("full").Range("d" & i).Value
Sheets("i fermés").Range("e65536").End(xlUp).Offset(1, 0) = Sheets("full").Range("e" & i).Value
Sheets("i fermés").Range("f65536").End(xlUp).Offset(1, 0) = Sheets("full").Range("f" & i).Value
Sheets("i fermés").Range("g65536").End(xlUp).Offset(1, 0) = Sheets("full").Range("g" & i).Value
Sheets("i fermés").Range("h65536").End(xlUp).Offset(1, 0) = Sheets("full").Range("h" & i).Value
End If
If Left(Range("a" & i), 3) = "eBI" Then
Sheets("eBI fermées").Range("a65536").End(xlUp).Offset(1, 0) = Sheets("full").Range("a" & i).Value
Sheets("eBI fermées").Range("b65536").End(xlUp).Offset(1, 0) = Sheets("full").Range("b" & i).Value
Sheets("eBI fermées").Range("c65536").End(xlUp).Offset(1, 0) = Sheets("full").Range("c" & i).Value
Sheets("eBI fermées").Range("d65536").End(xlUp).Offset(1, 0) = Sheets("full").Range("d" & i).Value
Sheets("eBI fermées").Range("e65536").End(xlUp).Offset(1, 0) = Sheets("full").Range("e" & i).Value
Sheets("eBI fermées").Range("f65536").End(xlUp).Offset(1, 0) = Sheets("full").Range("f" & i).Value
Sheets("eBI fermées").Range("g65536").End(xlUp).Offset(1, 0) = Sheets("full").Range("g" & i).Value
Sheets("eBI fermées").Range("h65536").End(xlUp).Offset(1, 0) = Sheets("full").Range("h" & i).Value
End If
Next i
End Sub
copie cette macro et lance la dans ton classeur officiel
Sub Bouton87_QuandClic()
Dim i As Long
For i = 1 To 400 'nombre de ligne à contrôler
If Left(Range("a" & i), 1) = "I" Then
Sheets("i fermés").Range("a65536").End(xlUp).Offset(1, 0) = Sheets("full").Range("a" & i).Value
Sheets("i fermés").Range("b65536").End(xlUp).Offset(1, 0) = Sheets("full").Range("b" & i).Value
Sheets("i fermés").Range("c65536").End(xlUp).Offset(1, 0) = Sheets("full").Range("c" & i).Value
Sheets("i fermés").Range("d65536").End(xlUp).Offset(1, 0) = Sheets("full").Range("d" & i).Value
Sheets("i fermés").Range("e65536").End(xlUp).Offset(1, 0) = Sheets("full").Range("e" & i).Value
Sheets("i fermés").Range("f65536").End(xlUp).Offset(1, 0) = Sheets("full").Range("f" & i).Value
Sheets("i fermés").Range("g65536").End(xlUp).Offset(1, 0) = Sheets("full").Range("g" & i).Value
Sheets("i fermés").Range("h65536").End(xlUp).Offset(1, 0) = Sheets("full").Range("h" & i).Value
End If
If Left(Range("a" & i), 3) = "eBI" Then
Sheets("eBI fermées").Range("a65536").End(xlUp).Offset(1, 0) = Sheets("full").Range("a" & i).Value
Sheets("eBI fermées").Range("b65536").End(xlUp).Offset(1, 0) = Sheets("full").Range("b" & i).Value
Sheets("eBI fermées").Range("c65536").End(xlUp).Offset(1, 0) = Sheets("full").Range("c" & i).Value
Sheets("eBI fermées").Range("d65536").End(xlUp).Offset(1, 0) = Sheets("full").Range("d" & i).Value
Sheets("eBI fermées").Range("e65536").End(xlUp).Offset(1, 0) = Sheets("full").Range("e" & i).Value
Sheets("eBI fermées").Range("f65536").End(xlUp).Offset(1, 0) = Sheets("full").Range("f" & i).Value
Sheets("eBI fermées").Range("g65536").End(xlUp).Offset(1, 0) = Sheets("full").Range("g" & i).Value
Sheets("eBI fermées").Range("h65536").End(xlUp).Offset(1, 0) = Sheets("full").Range("h" & i).Value
End If
Next i
End Sub
enark78
Messages postés
417
Date d'inscription
mardi 2 février 2010
Statut
Membre
Dernière intervention
12 juillet 2012
17
2 févr. 2010 à 13:59
2 févr. 2010 à 13:59
je viens de m'apercevoir que je ne t'ai pas passé la bonne version de mon classeur, du coup tu n'as pas du trouver la macro que tu m'avais donné je pense. Si tu es encore la, le voici
http://www.cijoint.fr/cjlink.php?file=cj201002/cijeEZAt2q.xls
c'est plus ou moins le meme classeur que l'autre que je t'ai donné sauf que celui-ci me sert de test avant de modifier ma version "finale"
http://www.cijoint.fr/cjlink.php?file=cj201002/cijeEZAt2q.xls
c'est plus ou moins le meme classeur que l'autre que je t'ai donné sauf que celui-ci me sert de test avant de modifier ma version "finale"
Farfadet88
Messages postés
6293
Date d'inscription
lundi 28 janvier 2008
Statut
Membre
Dernière intervention
29 avril 2020
1 369
2 févr. 2010 à 14:05
2 févr. 2010 à 14:05
Et bien je ne vois pas le souci. La macro marche.
Crée un bouton d'action (affichage/barre d'outils/formulaire/ Bouton)
Clique droit sur le bouton que tu crées / Appliquer une macro / Bouton1quand click
Et ensuite quand tu cliques sur le bouton, les lignes se copient comme convenu
Crée un bouton d'action (affichage/barre d'outils/formulaire/ Bouton)
Clique droit sur le bouton que tu crées / Appliquer une macro / Bouton1quand click
Et ensuite quand tu cliques sur le bouton, les lignes se copient comme convenu
enark78
Messages postés
417
Date d'inscription
mardi 2 février 2010
Statut
Membre
Dernière intervention
12 juillet 2012
17
2 févr. 2010 à 14:10
2 févr. 2010 à 14:10
J'ai trouvé le soucis, il fallait que je lance la macro en etant sur la feuille que j'ai appelé "full" (celle ou il y à toute la liste), j'ai donc corrigé ca. Par contre j'avoue ne pas vraiment comprendre ton code malgré l'aide de microsoft visual basic. Pourrait tu juste m'expliquer ceci ?
"Sheets("i fermés").Range("a65536").End(xlUp).Offset(1, 0) = Sheets("full").Range("a" & i).Value "
"Sheets("i fermés").Range("a65536").End(xlUp).Offset(1, 0) = Sheets("full").Range("a" & i).Value "
Farfadet88
Messages postés
6293
Date d'inscription
lundi 28 janvier 2008
Statut
Membre
Dernière intervention
29 avril 2020
1 369
2 févr. 2010 à 14:16
2 févr. 2010 à 14:16
"Sheets("i fermés") onglet "i fermés"
Range("a65536").End(xlUp).Offset(1, 0) dernière case vide de la colonne A en partant la Case A65536
Sheets full onglet "full"
Range("a" &i).value Valeur de la case Ai,i étant défini comme une variable de 1 à 400
A chaque fois, la macro contrôle les valeurs pour i=1 (A1), i=2 (a2), etc etc jusqu'à 400
Autrement dit:
La première case vide de l'onglet "i fermé" dans la colonne A est égale à la case Ai de l'onglet "Full"
Range("a65536").End(xlUp).Offset(1, 0) dernière case vide de la colonne A en partant la Case A65536
Sheets full onglet "full"
Range("a" &i).value Valeur de la case Ai,i étant défini comme une variable de 1 à 400
A chaque fois, la macro contrôle les valeurs pour i=1 (A1), i=2 (a2), etc etc jusqu'à 400
Autrement dit:
La première case vide de l'onglet "i fermé" dans la colonne A est égale à la case Ai de l'onglet "Full"
enark78
Messages postés
417
Date d'inscription
mardi 2 février 2010
Statut
Membre
Dernière intervention
12 juillet 2012
17
2 févr. 2010 à 14:19
2 févr. 2010 à 14:19
Et bien il ne me reste plus qu'à te remercier infiniement pour ton aide précieuse qui m'a evitée de me faire perdre une journée qui ne m'aurait peut etre à rien.
Merci a toi cher Farfadet88 ;-)
Merci a toi cher Farfadet88 ;-)
Farfadet88
Messages postés
6293
Date d'inscription
lundi 28 janvier 2008
Statut
Membre
Dernière intervention
29 avril 2020
1 369
2 févr. 2010 à 14:21
2 févr. 2010 à 14:21
De rien.
Hésite pas si t'as d'autres questions.
Hésite pas si t'as d'autres questions.