Aide vba macro excel
Fermé
wow40
-
21 févr. 2010 à 20:36
Gord21 Messages postés 918 Date d'inscription samedi 21 novembre 2009 Statut Membre Dernière intervention 20 mars 2013 - 27 févr. 2010 à 15:04
Gord21 Messages postés 918 Date d'inscription samedi 21 novembre 2009 Statut Membre Dernière intervention 20 mars 2013 - 27 févr. 2010 à 15:04
A voir également:
- Aide vba macro excel
- Liste déroulante excel - Guide
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Formule excel - Guide
- Macro word - Guide
- Si et excel - Guide
6 réponses
Gord21
Messages postés
918
Date d'inscription
samedi 21 novembre 2009
Statut
Membre
Dernière intervention
20 mars 2013
289
21 févr. 2010 à 22:34
21 févr. 2010 à 22:34
Bonsoir,
Je pense que ton premier soucis est :
à remplacer par (par exemple) :
Sinon, pour t'aider, tu veux reporter la dernière ligne des colonnes (je suppose la colonne E) mais à quel endroit veux tu les reporter ? A priori, tu commences en B1 mais après, B2, B3, ... ou C1, D1, ...
Je pense que ton premier soucis est :
Sheets("A1").Select
à remplacer par (par exemple) :
Sheets("Feuil1").Select
Sinon, pour t'aider, tu veux reporter la dernière ligne des colonnes (je suppose la colonne E) mais à quel endroit veux tu les reporter ? A priori, tu commences en B1 mais après, B2, B3, ... ou C1, D1, ...
Bonjour Gord21,
En fait j'ai 40 feuilles du nom des machines,A1àA10 B1àB10 C1àC10 D1àD10
Tu crois que cela fait une interaction avec le nom des cellules?
Je voudrais les reporter de B1à B20 et de D1àD20
Voilà si tu as un idée?
J'essairais ce soir de changer le nom de la feuille A1 par autre chose pour voir.
Merci
En fait j'ai 40 feuilles du nom des machines,A1àA10 B1àB10 C1àC10 D1àD10
Tu crois que cela fait une interaction avec le nom des cellules?
Je voudrais les reporter de B1à B20 et de D1àD20
Voilà si tu as un idée?
J'essairais ce soir de changer le nom de la feuille A1 par autre chose pour voir.
Merci
Gord21
Messages postés
918
Date d'inscription
samedi 21 novembre 2009
Statut
Membre
Dernière intervention
20 mars 2013
289
22 févr. 2010 à 12:36
22 févr. 2010 à 12:36
Bonjour,
Non, inutile de modifier le nom de tes onglets, ça m'a parut suspect sur le coup car d'habitude A1 est la référence d'une cellule.
Juste pour confirmation, tu veux copier la dernière cellule de la colonne E des onglets A1 à B10 dans les cellules B1 à B20 et la dernière cellule de la colonne E des onglets C1 à D10 dans les cellules D1 à D20. C'est bien ça ?
Non, inutile de modifier le nom de tes onglets, ça m'a parut suspect sur le coup car d'habitude A1 est la référence d'une cellule.
Juste pour confirmation, tu veux copier la dernière cellule de la colonne E des onglets A1 à B10 dans les cellules B1 à B20 et la dernière cellule de la colonne E des onglets C1 à D10 dans les cellules D1 à D20. C'est bien ça ?
Re,
Oui c'est tout à fait ça.
J'ai changé le nom de la première feuille, la macro se lance mais elle s'arrête sur Selection.Paste et me dit que cette action est impossible.
erreur 438 Propriété ou méthode non géré.
Voilà si tu as une idée
Oui c'est tout à fait ça.
J'ai changé le nom de la première feuille, la macro se lance mais elle s'arrête sur Selection.Paste et me dit que cette action est impossible.
erreur 438 Propriété ou méthode non géré.
Voilà si tu as une idée
J'ai mis pastespecial à la place de paste cela marche mais il faut que j'exécute à chaque fois la macro si je rajoute une ligne.Est_ce qu'une macro ne peut pas rester active sans avoir besoin la redémarrer?
Gord21
Messages postés
918
Date d'inscription
samedi 21 novembre 2009
Statut
Membre
Dernière intervention
20 mars 2013
289
25 févr. 2010 à 19:58
25 févr. 2010 à 19:58
Bonsoir,
Excuse-moi, je n'ai pas été très réactif pour la réponse. Tu veux dire que tu es obligé de relancer la macro si tu ajoute une donné dans une des colonnes E ? Si c'est ça, tu peux utiliser l'évênement Change de ton classeur.
J'attend ta confirmation pour t'envoyer le code.
@+
Excuse-moi, je n'ai pas été très réactif pour la réponse. Tu veux dire que tu es obligé de relancer la macro si tu ajoute une donné dans une des colonnes E ? Si c'est ça, tu peux utiliser l'évênement Change de ton classeur.
J'attend ta confirmation pour t'envoyer le code.
@+
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Gord21
Messages postés
918
Date d'inscription
samedi 21 novembre 2009
Statut
Membre
Dernière intervention
20 mars 2013
289
27 févr. 2010 à 15:04
27 févr. 2010 à 15:04
Bonjour,
Voici le code, il te suffit de le coller dans la feuille de code de ThisWorkbook de ton classeur.
Remarques :
- Dans ce code, l'onglet récapitulatif s'appelle Rapport
- Tu ne pourras pas avoir plus de 100 valeurs dans tes colonnes E (j'ai repris ton E100 car je pense que tu l'a mis volontairement)
Si tu as des questions, n'hésite pas.
Voici le code, il te suffit de le coller dans la feuille de code de ThisWorkbook de ton classeur.
Remarques :
- Dans ce code, l'onglet récapitulatif s'appelle Rapport
- Tu ne pourras pas avoir plus de 100 valeurs dans tes colonnes E (j'ai repris ton E100 car je pense que tu l'a mis volontairement)
Si tu as des questions, n'hésite pas.
Option Explicit Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range) ' ' Déclaration des variables '========================== Dim Liste_onglets_1() ' Liste des onglets qui contiennent les valeurs sources 1 Dim Liste_onglets_2() ' Liste des onglets qui contiennent les valeurs sources 2 Dim Cell_debut_1 As Range ' Première cellule où seront copiées les valeurs de la source 1 Dim Cell_debut_2 As Range ' Première cellule où seront copiées les valeurs de la source 2 Dim i As Long ' Variable utilisée pour les boucles ' ' Initialisation de la liste d'onglets '===================================== Liste_onglets_1 = Array("A1", "A2", "A3", "A4", "A5", "A6", "A7", "A8", "A9", "A10", _ "B1", "B2", "B3", "B4", "B5", "B6", "B7", "B8", "B9", "B10") Liste_onglets_2 = Array("C1", "C2", "C3", "C4", "C5", "C6", "C7", "C8", "C9", "C10", _ "D1", "D2", "D3", "D4", "D5", "D6", "D7", "D8", "D9", "D10") Set Cell_debut_1 = ThisWorkbook.Worksheets("Rapport").Range("B1") Set Cell_debut_2 = ThisWorkbook.Worksheets("Rapport").Range("D1") ' ' Mise à jour des valeurs '======================== ' On Error Resume Next ' ' Parcours des onglets définis dans la liste 1 '--------------------------------------------- For i = 0 To UBound(Liste_onglets_1) Cell_debut_1.Offset(i, 0).Value = ThisWorkbook.Worksheets(Liste_onglets_1(i)).Range("E100").End(xlUp) Next i ' ' Parcours des onglets définis dans la liste 2 '--------------------------------------------- For i = 0 To UBound(Liste_onglets_2) Cell_debut_2.Offset(i, 0).Value = ThisWorkbook.Worksheets(Liste_onglets_2(i)).Range("E100").End(xlUp) Next i On Error GoTo 0 ' End Sub