Copier automatiquement une ligne excel

Résolu/Fermé
alexluthor Messages postés 81 Date d'inscription vendredi 15 octobre 2010 Statut Membre Dernière intervention 2 novembre 2011 - 16 oct. 2010 à 20:44
alexluthor Messages postés 81 Date d'inscription vendredi 15 octobre 2010 Statut Membre Dernière intervention 2 novembre 2011 - 16 oct. 2010 à 22:49
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




A voir également:

5 réponses

cousinhub29 Messages postés 881 Date d'inscription mardi 10 août 2010 Statut Membre Dernière intervention 16 avril 2024 333
16 oct. 2010 à 20:58
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
alexluthor Messages postés 81 Date d'inscription vendredi 15 octobre 2010 Statut Membre Dernière intervention 2 novembre 2011
16 oct. 2010 à 21:15
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
0
cousinhub29 Messages postés 881 Date d'inscription mardi 10 août 2010 Statut Membre Dernière intervention 16 avril 2024 333
16 oct. 2010 à 21:20
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
alexluthor Messages postés 81 Date d'inscription vendredi 15 octobre 2010 Statut Membre Dernière intervention 2 novembre 2011
16 oct. 2010 à 21:28
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 ?
0
cousinhub29 Messages postés 881 Date d'inscription mardi 10 août 2010 Statut Membre Dernière intervention 16 avril 2024 333
16 oct. 2010 à 21:40
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
alexluthor Messages postés 81 Date d'inscription vendredi 15 octobre 2010 Statut Membre Dernière intervention 2 novembre 2011
16 oct. 2010 à 22:08
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é
0
cousinhub29 Messages postés 881 Date d'inscription mardi 10 août 2010 Statut Membre Dernière intervention 16 avril 2024 333
16 oct. 2010 à 22:13
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
alexluthor Messages postés 81 Date d'inscription vendredi 15 octobre 2010 Statut Membre Dernière intervention 2 novembre 2011
16 oct. 2010 à 22:16
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
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cousinhub29 Messages postés 881 Date d'inscription mardi 10 août 2010 Statut Membre Dernière intervention 16 avril 2024 333
16 oct. 2010 à 22:42
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
alexluthor Messages postés 81 Date d'inscription vendredi 15 octobre 2010 Statut Membre Dernière intervention 2 novembre 2011
16 oct. 2010 à 22:49
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 !!!
0