Copier des données dans un tableau

Résolu
ibll1 -  
Le Pingou Messages postés 12250 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour et merci à qui voudra me venir en aide !
voilà le problème :
je crée des menus déroulants afin de chercher une données (12 menus) et je souhaiterais créer une macro ou une astuce pour que une fois toutes les données sélectionnées, elles se copient dans des colonnes distinctes dans une autre feuille-bilan.
ex données menu 1 dans colonne 1 de la feuille bilan
données menu 2 dans colonne 2 de la feuille bilan

j'espère être clair dans dans mon explication.
si quelqu'un peut m'aider j'aurais une autre question qui viendra ensuite !

merci d'avance
A voir également:

13 réponses

Le Pingou Messages postés 12250 Date d'inscription   Statut Contributeur Dernière intervention   1 458
 
Bonjour,
Eh bien j'ai une première question, quelle est la prochaine question ?
0
Utilisateur anonyme
 
Bonjour,

Excellent !
Jean-Pierre sort son joker ! :-))
0
ibll1
 
Bonjour, je vois que j'ai affaire à des personnes qui ont de l'humour! soit !
la seconde question portera sur le fait de copier toutes ses données collectées toutes les deux lignes.
pour être plus clair :
par exemple, j'ai les données
nom, prénom, age, adresse ....sélectionnée pour deux personnes
je voudrais les copier toutes dans la feuille bilan
remettre à 0 la feuille données
recommencer avec 2 autres personnes
copier de nouveau les données dans le feuille bilan mais 2 lignes en dessous

etc.......
cela autant de fois que nécessaire

voilà ! j'espère être clair.............et il y aura peut-être d'autres questions après :)
0
Le Pingou Messages postés 12250 Date d'inscription   Statut Contributeur Dernière intervention   1 458
 
Bonjour,
Est-ce que cet exemple vous convient pour la partie 2 : https://www.cjoint.com/?bmrJ3Zqpi0

Note: pour la question 1, comment se présente la feuille avec les divers menus déroulants et où se trouvent les données qui alimentes les menus?

0
ibll1
 
Bonjour et merci de la réponse

j'ai essayer de joindre un exemple et j'espère que cela va fonctionné.
je souhaiterais donc copier les données sur les 2 lignes jaunes dans une fuille bilan
puis remettre à 0 les données de la feuille données pour rentrer de nouvelles infos
copier de nouveau, etc......;

merci encore

https://www.cjoint.com/?bmtp5OG8fz
0
Le Pingou Messages postés 12250 Date d'inscription   Statut Contributeur Dernière intervention   1 458
 
Bonjour,
Merci pour les informations.
Avant de poursuivre il me serait agréable de savoir si mon exemple résout la question 2 ?
J'attends.
0
Le Pingou Messages postés 12250 Date d'inscription   Statut Contributeur Dernière intervention   1 458
 
Bonjour,
A défaut de votre réponse sur mon premier exemple voici ma proposition : https://www.cjoint.com/?bmwls8ABUn
0
ibll1
 
Bonjour,
et merci infiniment pour la qualité de vos réponses !
en fait cela semble parfaitement correspondre à ce que je voulais
avec en plus une remise à 0 directe............;super génial !

je vais devoir maintenant l'appliquer à mon application-pilote et voir si je m'en sors.
je vous tiens au courant ..............si d'aventure d'autres problèmes venaient à surgir.

merci encore
je vous tiens au courant
bonne journée
0
ibll1
 
RE bonjour,

vous serait-il possible de me détailler plus précisemment le code utilisé.
je ne saisis pas toutes les infos à chaque ligne d'autant que je vais devoir l'adapter à mon application maître.

je sais que c'est du travail mais sinon je vais surement "galérer".

merci beaucoup
I.
0

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

Posez votre question
Le Pingou Messages postés 12250 Date d'inscription   Statut Contributeur Dernière intervention   1 458
 
Bonjour,
Je veux bien vous détailler la procédure mais dans un premier temps je vous propose de faire une copie d’écran de vos 2 feuilles à mettre sur https://www.cjoint.com/ , se qui me permettra d’orienté les explications dans le bon sens.
Merci de votre réponse.
0
Le Pingou Messages postés 12250 Date d'inscription   Statut Contributeur Dernière intervention   1 458
 
Bonjour,
La procédure commentée, j'espère que se sont les rames pour la galère ... :
Sub CopierSurAutreFeuille_LD()
Dim li As Long, nbli As Long, lideb As Long
lideb = 6 'Numéro de la premiére ligne des données (liste déroulante)
nbli = WorksheetFunction.CountA(Range("A" & lideb & ":A100")) 'Calculer le nombre de ligne à copier
If nbli = 0 Then Exit Sub 'Sortir de la procédure si le nombre de ligne est égal à zézo
Range("A" & lideb & ":F" & lideb + nbli - 1).Copy ' Copier la plage de données
Application.ScreenUpdating = False
With Sheets("bilan") 'Appliquer une série d'instructions à l'objet indiqué (feuille [bilan])
li = .Range("a5000").End(xlUp).Offset(1, 0).Row ' Numéro de la première ligne vide
    .Range("A" & li).PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, _
    SkipBlanks:=False, Transpose:=False ' coller que les valeurs de la plage copier.
End With
Application.ScreenUpdating = True
Range("A" & lideb & ":F" & lideb + nbli - 1).ClearContents ' Réinitialiser la plage de données sur vide
MsgBox ("La/les " & (nbli) & " ligne/s est/sont copiée/s sur la feuille [Lignecoller]") ' petit message de confirmation du traitement
End Sub
0
ibll1
 
Bonjour,

je vous envoie la copie d'écran de mon travail
en effet vous pourriez peut-être me guider !
merci en tout cas pour les rames..........mais je galère toujours un peu

tout d'abord, si je comprends bien je dois dans la feuille "mes listes" créer des listes en suivant vos instructions : définir un nom.
Ensuite à quoi correspondent les variables déclarées : li, nbli, livide

a bientôt surement et merci encore du temps que vous consacrer à m'aider
0
Le Pingou Messages postés 12250 Date d'inscription   Statut Contributeur Dernière intervention   1 458
 
Bonjour,
concernant :
je vous envoie la copie d'écran de mon travail c'est introuvable !

tout d'abord, si je comprends bien je dois dans la feuille "mes listes" créer des listes en suivant vos instructions : définir un nom. Oui si vous adoptez le principe de centraliser les listes sur une feuille uniquement dans se but.

Ensuite à quoi correspondent les variables déclarées : li, nbli, livide Eh bien se sont des variables : voir l'explication à droite de la ligne de code.
0
ibll1
 
BONJOUr
pardon pour le lien, j'espère que celui ci va convenir !
l' adaptation du code nécessite quelques ajustements..........

merci encore de votre aide

Le lien a été créé: https://www.cjoint.com/?bovsBwQvn0
0
Le Pingou Messages postés 12250 Date d'inscription   Statut Contributeur Dernière intervention   1 458
 
Bonsoir,
Alors c'est super, merci pour le lien.
Par contre au vu de la disposition de vos données sur votre feuille [données] il faut modifier ma procédure dans se sens.
Merci de remplacer par cette nouvelle procédure; directement dans le document [Maître] :
Sub CopierSurAutreFeuille_LD()
Dim li As Long, nbli As Long, lij1 As Long, lij2 As Long
lij1 = 11 'ligne des données joueur 1
lij2 = 17 'ligne des données joueur 2

If Cells(lij1, 2) = "" Or Cells(lij2, 2) = "" Then
    MsgBox ("Le nom des 2 joueurs doit être présent" & Chr(13) & "Merci de corriger !")
    Exit Sub 
End If
Application.ScreenUpdating = False
With Sheets("feuilbilan")
    li = .Range("a5000").End(xlUp).Offset(1, 0).Row
    Range("B" & lij1 & ":O" & lij1).Copy 
    .Range("A" & li).PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, _
    SkipBlanks:=False, Transpose:=False 
        Range("B" & lij2 & ":O" & lij2).Copy 
        .Range("A" & li + 1).PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, _
        SkipBlanks:=False, Transpose:=False
End With
Range("B" & lij1 & ":O" & lij1).ClearContents
Range("B" & lij2 & ":O" & lij2).ClearContents
MsgBox ("Les 2 lignes sont copiées sur la feuille [FEUILBILAN]")
Application.ScreenUpdating = True
End Sub
--

Salutations.
Jean-Pierre
0
ibll1
 
OUPS !!

petits problèmes ENCORE !

tout d'abord les cellules où il y a GO ne doivent pas être copiées : ce sont des boutons qui incrémentent de 1 une case située à l'extérieure de l'écran !
% EFF est également une case qui permet de calculer le % compte tenu des 2 données précédentes.

Pts EFF et Pts MAtch font référence à une formule de rechercherv dans un tableau et si on RAZ ses 2 données............les formules disparaissent également ?

en d'autres termes les données : ATT bonnes, fautes, score ne doivent pas être copiées.

pour le reste cela va me rendre service et bravo pour vos compétences informatiques.

I.
0
Le Pingou Messages postés 12250 Date d'inscription   Statut Contributeur Dernière intervention   1 458
 
Bonjour,
Comme vous avez parlez de copier 2 lignes vers une autre feuille sans plus de précision, on copie les valeurs de ses lignes, sous–entendu que les formules ont remplies leurs fonctions et ne sont plus nécessaires.
Désolé, je ne pouvais pas prévoir les détails que vous exposez.
0
ibll1
 
Bonjour,

si je peux me permettre, pourriez-vous me guider pour adapter le code avec les nouvelles données que je vous ai transmises.
si cela vous gêne de continuer à m'aider je le comprendrais fort bien.
j'ai l'impression de prendre de votre temps.............mais je suis loin de pouvoir être autonome.
si vous voulez la copie écran de ma feuille bilan, je peux vous la transmettre

cordialement
0
Le Pingou Messages postés 12250 Date d'inscription   Statut Contributeur Dernière intervention   1 458
 
Bonjour,
Merci pour le message.

Aucun problème pour vous aider, mentionné exactement les cellules que vous voulez sur la feuille [feuilbilan] en prenant comme base la copie d’écran que vous avez mise à disposition (exemple B11, C11 ,….B17, C17 …etc.)

On copie les valeurs et non les formules Oui ou Non ?

Merci de mettre la copie écran de ma feuille bilan.
0
ibll1
 
Bonjour et merci de bien vouloir continuer le "tutorat"!
pardon de n'avoir pas tout préciser...............quelques moments d'absences !!!!!!
voiçi la copie d'écran de la feuille bilan pour vous préciser les données à copier

http://cjoint.com/data/bqkKoFhRiN_copie_feuilbilan.jpg

en ce qui concerne la feuille de données, lorsqu'il y a RAZ, il ne faut pas effacer les formules dans les cellules :
en F11 et F17
en G11 et G17
en J11 et J17
en O11 et O17

par contre les boutons GO sont relier à des cellules qui incrémentent : elles doivent être remise à 0 pour chaque nouveau match : AM11 et AN11 + AM13 et AN13

je pense que c'est tout pour le moment !
en tout cas c'est déjà SUPER GENIAL TOUT ce que vous me donner MERCI
I.
0
Le Pingou Messages postés 12250 Date d'inscription   Statut Contributeur Dernière intervention   1 458
 
Bonjour,
Directement dans votre classeur [EVA TT TERM] remplacer l’ancienne procédure cette nouvelle version:
Sub CopierSurAutreFeuille_04()
Dim li As Long, lij1 As Long, lij2 As Long, libi As Long
lij1 = 11 'ligne des données joueur 1
lij2 = 17 'ligne des données joueur 2
libi = 6 ' Première ligne après titre de colonne
If Cells(lij1, 2) = "" Or Cells(lij2, 2) = "" Then
    MsgBox ("Le nom des 2 joueurs doit être présent" & Chr(13) & "Merci de corriger !")
    Exit Sub 'Sortir de la procédure
End If
Application.ScreenUpdating = False
With Sheets("bilan") 'Appliquer une série d'instructions à l'objet indiqué
    li = .Range("a5000").End(xlUp).Offset(1, 0).Row ' Numéro de la première ligne vide
    Range("B11:C11,F11:G11,K11:O11").Copy ' Copier la plage de données
    .Range("A" & li).PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, _
    SkipBlanks:=False, Transpose:=False ' coller que les valeurs de la plage copier
        Range("B17:C17,F17:G17,K17:O17").Copy ' Copier la plage de données
        .Range("A" & li + 1).PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, _
        SkipBlanks:=False, Transpose:=False ' coller que les valeurs de la plage copier
End With
Range("B11:C11,K11:N11,B17:C17,K17:N17").ClearContents ' Réinitialiser la plage de données sur vide
Range("AM11:AN11,AM13:AN13") = 0
MsgBox ("Les 2 lignes sont copiées sur la feuille [FEUILBILAN]") ' petit message de confirmation du traitement
Application.ScreenUpdating = True
End Sub
0
ibll1
 
Bonjour,

il y a un débogage à la ligne
With Sheets("bilan") 'Appliquer une série d'instructions à l'objet indiqué
de fait la macro ne fonctionne pas

pardon de "revenir" à la charge!!!!!!!!!!!

bon week end tout de même
0
Le Pingou Messages postés 12250 Date d'inscription   Statut Contributeur Dernière intervention   1 458 > ibll1
 
Bonjour,
Vous corriger la ligne le code :
With Sheets("bilan") en With Sheets("feuilbilan")
Le nom de votre feuille m'avait échapé, désolé.
Merci de me dire si c'est bon !
0
ibll1
 
Bonjour,

autre petite question:
vous m'avez donné des consignes pour créer les listes dans "mes listes" en me disant de définir un nom.
je l'ai fait !
mais vous faites référence à des formules excel que je ne sais pas où placer.
en fait je ne comprends pas la manière de faire fonctionner cette "astuce" qui néanmoins est très interressante;
pourriez-vous m'en dire un peu plus, s'il vous plait.

cordialement
I.
0
ibll1
 
bonjour,

je reviens parce que en ce qui concerne définir nom, j'ai compris l'astuce mais comme j'ai utiliser la validation des données pour faire mes menus déroulants, je ne peux pas faire référence à des données d'une autre feuille que la feuille active.
ainsi, si je dispose mes listes dans la feuille "mes listes", ça ne fonctionne pas...............or l'exemple que vous m'avez envoyé fonctionne.
qu'est-ce que je n'ai pas encore compris?

décidemment mes lacunes sont nombreuses..............;et sans doute ce n'est que la face cachée de l'iceberg :)
0
Le Pingou Messages postés 12250 Date d'inscription   Statut Contributeur Dernière intervention   1 458
 
Bonjour,
Concerne: postes 23/24
Eh bien pour les listes on les nomme et de cette manière on peut utiliser le nom lors de la validation de liste dans n’importe quelle feuille du classeur.
http://www.cijoint.fr/cjlink.php?file=cj201001/cijg99jbAZ.xls
Je vous ai mis un petit complément d’information voir feuilles [données] et [MesListes] et surtout lisez bien l'encadré jaune de la feuille [MesListes] pour comprendre le pourquoi de cette manière de faire (poste 23).
0
ibll1
 
Bonjour et merci encore,

tout semble aller parfaitement bien et je vous en remercie.
si je peux me permettre je travaille actuellement sur une autre application pour les sports collectifs.
si vous me permettez je voudrais continuer à vous solliciter parce que vos compétences m'ont permises jusque là de dépasser largement tous les blocages que j'avais en matière de programmation VBA.

je continue mon travail et j'aurais sans doute besoin ENCORE de vos lumières dans très peu de temps.

cordialement
I.
0
Le Pingou Messages postés 12250 Date d'inscription   Statut Contributeur Dernière intervention   1 458
 
Bonjour,
Merci pour l'information.
Je suis content que cela marche pour votre fichier.
Concernant le futur, je prêterai une attention particulière en voyant votre pseudo.
Au cas ou un MP est possible pour attirer mon attention.
0