Signaler

Comment créer une macro : dupliquer ligne à la ligne suivante ? [Résolu/Fermé]

Posez votre question vieuxdinosaure 3Messages postés jeudi 14 mai 2015Date d'inscription 15 mai 2015 Dernière intervention - Dernière réponse le 30 juin 2015 à 18:45 par gbinforme
Bonjour,

Comment, s'il vous plaît, en cliquant sur une touche fquelquechose, engendrer la macro suivante :

- insérer ligne
- dupliquer les cellules des colonnes G, H et I dans la ligne nouvellement créée (dans les colonnes G, H et I) ?

Je m'explique plus précisément :

- je suis sur n'importe quelle cellule de la ligne 42
- en tapant fquelquechose :
- une nouvelle ligne se crée sous la ligne 42, le bas de mon tableur étant décalé d'une ligne
- le contenu des cellules G 42, H 42 et I 42 est dupliqué dans les cellules G 43, H43 et I 43 qui viennent d'être créées.

Merci beaucoup.

Alain
Utile
+0
plus moins
Bonjour,

en tapant fquelquechose (sic)
Je te suggère le double clic et avec cette macro tu devrais obtenir ce que tu cherches :

Private Sub Worksheet_BeforeDoubleClick(ByVal sel As Range, Cancel As Boolean)
    Cancel = True
    Rows(sel.Row + 1).Insert
    Cells(sel.Row, "G").Resize(2, 3).FillDown
End Sub
Utile
+0
plus moins
Merci beaucoup d'avoir pris le temps de me répondre, et de votre réponse.
Mais j'ai 60 ans et je ne comprends rien, bien que je comprenne l'anglais. C'est le langage informatique qui doit m'être étranger...
Je vais chercher un plus jeune dans mon entourage qui pourra vous lire autrement qu'avec des yeux ahuris comme moi.
Merci encore, je reviendrai vers vous quand j'y serai arrivé.
Alain
gbinforme 14213Messages postés lundi 18 octobre 2004Date d'inscription ContributeurStatut 19 octobre 2017 Dernière intervention - 14 mai 2015 à 18:39
Bonsoir,

L'age n'est pas un handicap, juste la preuve que tu as su vivre jusque là ;-)

La macro que je t'ai mise doit être insérée par copie, dans la feuille où tu fais ta saisie et tu as un petit d'emploi pour cela.
Après tu n'es pas obligé de la lire pour qu'elle fonctionne et si tu as des soucis n'hésites pas à poser le problème, l'on t'aidera à la mettre en place.
Bonne soirée.
Utile
+0
plus moins
Bonjour,

Merci pour cette jolie philosophie sur mon âge mais, sincèrement, je préfère le challenge d'un jeune de 20 ans face à un monde qui va être très compliqué (il suffit de voir une photo de Hong-Kong, de Mexico ou de Dubaï pour réaliser combien la donne a changé en 20 ans) plutôt que la satisfaction d'avoir évité bien des périls. Et puis, il y a la tristesse (honte ?) de ma génération de laisser à nos enfants une France en piteux état, faute d'avoir fait les réformes indispensables et su préserver la cohésion entre les gens.
Mais question âge, on ne se refait pas, c'est inéluctable... Sans oublier que l'espérance de vie n'atteint pas 60 ans dans beaucoup de pays du monde et qu'elle était de 50 ans en France dans les années 1900. J'ai déjà battu mon grand-père (mauvais exemple, en fait, lui est mort à 82 ans).
Merci pour ton second post pour Excel, je vais essayer mais serai sans micro pour 3 jours, je te tiens au courant la semaine prochaine.
Bon week-end, merci encore.
Alain
gbinforme 14213Messages postés lundi 18 octobre 2004Date d'inscription ContributeurStatut 19 octobre 2017 Dernière intervention - 18 juin 2015 à 11:59
Bonjour ancoly30,

Elles fonctionnent bien jusqu'à ce que je ferme ou essaie d'envoyer le fichier.
Pour que les macros soient sauvegardées, le classeur doit être enregistré avec l'extension ".xlsm" : ne serait-ce pas là le problème ?
vieux dinosaure- 18 juin 2015 à 12:39
Bonjour,

Je viens d'essayer votre format et bonheur : Ça fonctionne!!!

Merci beaucoup.

Ancoly30
vieux dinosaure- 18 juin 2015 à 12:14
Coucou,

Et bien non je les enregistrais sous le format excel prenant en charge les macros.

Et ça ne fonctionne pas.

Je vais essayé avec le format que vous m'avez indiqué et je vous tiens au courant.

Merci

Ancoly30
vieux dinosaure- 18 juin 2015 à 12:26
Coucou,

Je viens de me pencher sur le tableau que tu m'as communiqué en pièce jointe...

J'ai bien compris les formules macros mais je ne sais pas comment tu crées le champs de saisie dans l'intitulé des colonnes.

Je souhaite reproduire cette programmation à la colonne "A" pour un tri numérique.

Pourrais-tu m'aider?

Merci

Ancoly30
vieux dinosaure- 18 juin 2015 à 15:11
Bonjour,

J'éprouve tout de même des difficultés à envoyé le fichier avec les macros.

La personne qui les reçoit par mail, ne les as pas (les macros)...

Merci pour votre aide

Ancoly30
Utile
+0
plus moins
Bonjour ancoly30,

je ne sais pas comment tu crées le champs de saisie dans l'intitulé des colonnes.
Ce sont des textbox dans l'onglet développeur / mode création / insérer

Je souhaite reproduire cette programmation à la colonne "A" pour un tri numérique.
Ce n'est pas un tri mais un filtre.

La personne qui les reçoit par mail, ne les as pas (les macros)...
Si elle n'as pas activé les macros, elles les a bien mais inactives.

vieux dinosaure- 18 juin 2015 à 19:24
Bonsoir,

Je vous remercie pour les informations : je vais voir ça demain... avec la trame.

Merci encore pour votre aide.

Cordialement

Ancoly30
vieux dinosaure- 19 juin 2015 à 15:20
Bonjour,

j'ai effectué des essais avec vos programmations macros... Un problème se pose c'est que cette programmation prend fin à la ligne 3048 du fichier excel et je souhaiterai savoir s'il est possible de l'étendre jusqu'à la ligne 20000 du fichier.

Un autre problème est survenu les programmations macros que j'ai réalisé pour la mise en place d'un filtre ne fonctionne pas avec vos programmations...

Un vrai casse tête...

Je resterai connecté ce soir à ce forum.

Cordialement

Ancoly30
gbinforme 14213Messages postés lundi 18 octobre 2004Date d'inscription ContributeurStatut 19 octobre 2017 Dernière intervention - 19 juin 2015 à 22:28
Bonsoir,

Je reprends le fil peut-être un peu tard...

c'est que cette programmation prend fin à la ligne 3048 du fichier excel
Je ne comprends pas car il me semble que j'avais mis
 ActiveSheet.Range("$A$1:$AA$65000")


les programmations macros que j'ai réalisé pour la mise en place d'un filtre ne fonctionne pas
Pas facile de savoir pourquoi sans plus d'infos : serait-il possible d'avoir un bout de classeur avec les macros ?

Bonne soirée et désolé du retard mais je n'étais pas sur la toile.
vieux dinosaure- 19 juin 2015 à 23:32
Bonsoir,

Merci d'avoir répondu.
Je vous l'envoi demain dans la matinée car je n'ai pas le fichier sur ce pc...

Cordialement
Ancoly30
vieux dinosaure gbinforme - 20 juin 2015 à 12:24
Bonjour,

Comme promis : voici le lien pour le tableau...

http://www.cjoint.com/c/EFukyzmfDff

En effet, votre programmation macro va bien jusqu'à 65000. Mais elle ne fonctionne pas.

Cordialement

Ancoly30
Utile
+0
plus moins
Bonjour ancoly30,

J'ai vu le problème qui vient de la fonction utilisée : je vais te faire une fonction non limitative. il faudrait aussi que si l'on saisi ">10<50" cela sélectionne les valeurs de 11 à 49 ?

Veux-tu que je te rajoute une fonction qui trie ton classeur sur la colonne dont le titre est sélectionné ?
Il me semble que c'est ce que tu as essayé de faire.
Utile
+0
plus moins
Bonjour ancoly30,

J'ai l'impression que tu m'as un peu abandonné ?

Donc je te mets le classeur comme j'ai compris ta demande.
Je t'ai mis un formulaire, avec un bouton, pour sélectionner n'importe quelle rubrique sur une plage de valeurs (<=/>=) ou sur la présence de suite de caractères identiques : cela fonctionne sur l'ensemble du classeur.
Le tri sur une colonne se fait sur un double clic sur la ligne titre.

http://www.cjoint.com/c/EFEqHjILCwm

Tu peux tirer la feuille "Filtrer", le module "gbinforme", le module de classe "Groupes" dans ton classeur et associer un bouton à la macro "lance".

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes.

Le fait d'être membre vous permet d'avoir des options supplémentaires.

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !