Copier automatiquement une ligne excel [Résolu/Fermé]

Signaler
Messages postés
81
Date d'inscription
vendredi 15 octobre 2010
Statut
Membre
Dernière intervention
2 novembre 2011
-
Messages postés
81
Date d'inscription
vendredi 15 octobre 2010
Statut
Membre
Dernière intervention
2 novembre 2011
-
Bonjour,
mon problème est le suivant je copie une ligne excel via un bouton
cette ligne compte des cellules ayant une liste de choix
quand je la copie je me retrouve avec les choix mémorisés de la ligne précédente comment puis-je faire pour l'avoir dans son état "zéro"

voici mon code de copie de ligne tirée d'un forum de ce site :

Private Sub CommandButton1_Click()


'Aller en A1
Range("A1").Select

'Tester si la cellule de dessous est vide, si non descendre d'une ligne
While ActiveCell.Offset(1, 0).Value <> ""
ActiveCell.Offset(1, 0).Select
Wend

'Quand la dernière valeur du tableau est trouvée, sélectionner le nombre de colonnes concernées
ActiveCell.Range("A1:J1").Select

'Recopier le contenu sur une ligne vers le bas
Selection.AutoFill Destination:=ActiveCell.Range("A1:J2"), Type:=xlFillCopy
End Sub


D'avance merci !
Alex




5 réponses

Messages postés
579
Date d'inscription
mardi 10 août 2010
Statut
Membre
Dernière intervention
11 novembre 2018
296
Bonjour,

Si j'ai bien compris...

Essaie avec ce code simplifié :

Private Sub CommandButton1_Click()
With Range("A65000").End(xlUp).Resize(1, 10)
    .AutoFill Destination:=.Resize(2, 10), Type:=xlFillCopy
    .Offset(1).SpecialCells(xlCellTypeAllValidation).ClearContents
End With
End Sub


Bonne soirée
1
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 63550 internautes nous ont dit merci ce mois-ci

Messages postés
81
Date d'inscription
vendredi 15 octobre 2010
Statut
Membre
Dernière intervention
2 novembre 2011

merci pour ton aide mais non cela ne fonctionne pas.
Surement due au fait que j'explique assez mal à mon avis.

Alors reprenons

je copie une ligne d'un tableau automatiquement via un bouton qui place cette ligne après la dernière de la colonne
dans la ligne de ce tableau plusieurs cellules ont une liste de choix (validation+ données +liste etc...)

je souhaiterai faire apparaitre la même ligne à chaque fois et non la dernière du tableau avec les choix sélectionnés.

Mieux expliqué ?
Alex
Messages postés
579
Date d'inscription
mardi 10 août 2010
Statut
Membre
Dernière intervention
11 novembre 2018
296
Re-,

C'est exactement ce que fait mon code...

Par contre, mon code ne fait que vider les cellules contenant les données de validation...(pour ne pas supprimer les formules, par exemples)

Est-ce que ta dernière ligne, à recopier, contient des formules, et/ou des constantes? (constantes à effacer également, je suppose)

Précise exactement ce que contient tes cellules...

@ te relire
1
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 63550 internautes nous ont dit merci ce mois-ci

Messages postés
81
Date d'inscription
vendredi 15 octobre 2010
Statut
Membre
Dernière intervention
2 novembre 2011

comme je te le disais mes cellules comportent soit du texte a laisser tel quel soit des listes de choix (plusieurs cellules) et une cellule comportant cette formule : =RECHERCHEV(B1;$A$21:$B$52;2) qui affiche juste une variable affiché dans un tableau en face de la valeur choisi dans le menu de la case précédente:

Exemple :

1 ligne ou sont notés
1: le N° de machine concerné
2: le N° de série de la machine sélectionnée en 1: (=RECHERCHEV(B1;$A$21:$B$52;2))
et le reste une série de cellules ou l'on choisi soit oui ou non pour les symptômes de pannes listés (donc a ne pas toucher)

en fait je n'arrive pas a isoler une ligne que je mettrai en état zéro et une formule capable de me la copier a un endroit précis.

Mieux pas mieux ?
Messages postés
579
Date d'inscription
mardi 10 août 2010
Statut
Membre
Dernière intervention
11 novembre 2018
296
Re-,

comme je te le disais


Ben, non, tu ne me l'as pas dit, qu'il y avait une cellule contenant une formule....

Et dans ta cellule de la colonne B, est-ce également une donnée de validation, ou une donnée que tu rentres à la main?
Et cette donnée, faut-il également la conserver?

On reprend (Tu sais, avec les codes, il faut donner toutes les options, sinon, d'un fil, on en fait une pelote....)

Colonne A : ???????
Colonne B : une donnée rentrée à la main
Colonne C : une formule
Colonne D à J : des données de validation

Corrige ces affirmations, avant que je ne refasse un code...

@ te relire
1
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 63550 internautes nous ont dit merci ce mois-ci

Messages postés
81
Date d'inscription
vendredi 15 octobre 2010
Statut
Membre
Dernière intervention
2 novembre 2011

colonne A : juste du texte a ne pas changer genre "machine N°" puis la case a coté B choix du N° de machine ( pas à la main mais un choix aussi) etc... comme tu l'as deviné
Messages postés
579
Date d'inscription
mardi 10 août 2010
Statut
Membre
Dernière intervention
11 novembre 2018
296
Re-,

Eh ben, mon premier code fait exactement ce que tu veux....

Peux-tu joindre un fichier exemple, exempt de toute donnée confidentielle, via le site :

http://www.cijoint.fr/</code>


Ton tableau est-il sous forme de liste?
1
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 63550 internautes nous ont dit merci ce mois-ci

Messages postés
81
Date d'inscription
vendredi 15 octobre 2010
Statut
Membre
Dernière intervention
2 novembre 2011

c'est très succin c'est une page pour des essais rien de finalisé au : http://www.cijoint.fr/cjlink.php?file=cj201010/cij1MQwpZk.xls
Messages postés
579
Date d'inscription
mardi 10 août 2010
Statut
Membre
Dernière intervention
11 novembre 2018
296
Re-,

OK,

Par contre, à force de copier des lignes à partir de la cellule A1, tu vas vite arriver sur le tableau qu'il y a dessous...

Et mon code copiait la dernière ligne de la colonne A, donc dans ton exemple, la ligne 51...

Je pense que tu aurais tout intérêt à mettre ton tableau de données à droite de tes données (par exemple, de L1 à U32), ainsi tu n'auras plus de soucis de place, ni avec le code fourni...
Voire mettre ce tableau dans un autre onglet...
Pour les Données/Validation, qui n'acceptent pas les listes d'un autre onglet, tu peux le faire via des zones nommées...

Regarde le fichier joint (pour voir les zones nommées, Insertion/Nom/Définir....)
J'ai également un tout petit peu modifié ta formule...

http://www.cijoint.fr/cjlink.php?file=cj201010/cijsBv3jIl.zip

Bon courage
1
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 63550 internautes nous ont dit merci ce mois-ci

Messages postés
81
Date d'inscription
vendredi 15 octobre 2010
Statut
Membre
Dernière intervention
2 novembre 2011

oui l'emplacement des colonnes était juste pour des essais de code .........que puis-je dire d'autre qu'un très grand merci cousinhub !!!