Comment remplir automatiquement un tableau [Fermé]

Signaler
Messages postés
11
Date d'inscription
dimanche 16 septembre 2007
Statut
Membre
Dernière intervention
26 août 2012
-
Messages postés
52430
Date d'inscription
lundi 13 août 2007
Statut
Contributeur
Dernière intervention
12 octobre 2020
-
Sous excel, j'ai un tableau dans une feuille1 et je souhaiterais quand je viens remplir ce tableau que le tableau situé sur la feuille2 se complète avec les données entrées dans la feuille1.
j'ai essayé de faire une macro mais je ne suis pas très douée, j'ai juste réussi à recopier des lignes mais elles effacent les précédentes.

Est-il possible que la macro s'exécute automatiquement ?

Pourriez-vous SVP m'aider

Merci

16 réponses

Messages postés
23558
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
12 octobre 2020
6 402
Bonjour,

D'accord avec les remarques et l'idée de base de vaucluse (insérer où c'est plus pratique puisqu'il y a tri ensuite) mais 2 éléments ont été négligés : "feuill2 ...et auxquels j'ajoute des info (il ne peut y avoir qu'une ligne par personne)"

Je pense qu'il va falloir passer par "Données / Filtrer / Filtre élaboré..." avec "copier vers un autre emplacement" et "Extraction sans doublons" ou autre solution pour eliminer les doublons
Et d'autre part pour les insertions et tris prévoir plus de 4 colonnes, que les infos ajoutées sur feuil2 suivent.

cdt
eric
2
Merci

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

CCM 60511 internautes nous ont dit merci ce mois-ci

Messages postés
1
Date d'inscription
dimanche 23 septembre 2007
Statut
Membre
Dernière intervention
23 septembre 2007
3
1. Sélectionnez le signet de la feuille 1
2. Appuyez sur la touche majuscule enfoncée
3. Cliquez sur le signet de la feuille 2
Une barre de couleur relie les deux feuilles
4. Sélectionnez la feuille 1
5. Entrer vos données
Contrôlez la feuille 2. Miracle, les données entrées sur la feuille 1 figurent également sur la feuille 2.
Etais-ce ce que vous vouliez?
Messages postés
52430
Date d'inscription
lundi 13 août 2007
Statut
Contributeur
Dernière intervention
12 octobre 2020
14 279
ça s'appelait peut-être "signet" en 2007 ...
mais il s'agit tout bonnement de l'onglet !
bonjour Raymond,
est ce possible de faire la meme chose sous condition que ds ma colonne "p" il y est le mot "imp" et donc valider le repport de la lkigne entiere du tableau 1, 2,3..jusqu'a 12 ds un onglet n°13???
merci
Messages postés
52430
Date d'inscription
lundi 13 août 2007
Statut
Contributeur
Dernière intervention
12 octobre 2020
14 279
Je n'ai pas tout à fait bien compris ce que tu as écrit, mais de toutes façons il te faudra une macro ... et ça, je ne sais pas faire !
merci Raymond.
Je veux bien vous aider mais je n'ai rien compris à votre question....
Messages postés
25369
Date d'inscription
lundi 23 juillet 2007
Statut
Contributeur
Dernière intervention
13 octobre 2020
5 521
Bonjour:
si ce que vous voulez faire correspond bien à transférer une ligne complète d'une page vers une autre, ça devrait être assez simple, sauf qu'il sera plus difficile de rajouter les lignes en bas du tableau N°2.(pour cela, quelqu'un d'autre de plus doué que moi vous donnra peut être la solution, car il faudrait alors trouver le n° de ligne vide en bas du tableau2 et c'est plus difficile..
En fait la solution la plus simple consiste à copier la ligne et l'insérer au dessus de la 1° ligne de la feuille 2:
La macro est donc dans ce genre, si vous remplissez votre tableau sur la feuille 1

Sub Macro5()
'
<gras>' Macro5 Macro
' Macro enregistrée le 23/09/2007 '

'
Rows("1:1").Select
Selection.Copy
Sheets("Feuil2").Select
Rows("4:4").Select
Range("G4").Activate
Selection.Insert Shift:=xlDown
Sheets("Feuil1").Select
End Sub

Nota:
1°: la première ligne de la macro définit la ligne à copier. Si vous voulez la choisir en sélectionnant vous même sur la feuille 1, suppimez cette ligne
2°) la ligne Rows("4:4")définit la position de la ligne à insérer sur la feuille 2, placez y celle que vous souhaitez, mais ce sera toujous là, et le tableau s'allongera vers le bas en se remplissant par le haut (là, c'est le hic de cette option)
3°):la derniére ligne de la macro vous fait retourner au tableau 1, si vous la supprimez, vour restez au tableau 2
4°) si vous avez pris l'option de supprimer la ligne 1dans la macro, vous pouvez sélectionner plusieurs lignes contigües à la fois pour les transférer
5°)vous pouvez aussi insérer dans le même style une rangée de cellule seulement, si vous ne pouvez pas prendre la ligne compléte, la macro est à peine plus compliquée (il faut lui dire dans quel sens vous décalez les cellules)et dans ce tous les cas, le plus simple pour vous serait de passer par l'enregistreur de macro:
au cas ou vous ne connaissiez pas:(on ne sait jamais)
Barre des Taches / Outil/ Macro/ Nouvelle Macro / Enregistrer/
Faite les opérations que vous avez à faire et surtout n'oubliez pas de fermer l'enregistrement en fin d'opération
Enfin, pour engager la commande de la macro, je vous conseille de passer par le clavier. Pour cela:
Barre des taches / Outil / Macro / Sélectionnez votre macro dans la boite / Sélectionnez option/ choisissez la lettre qui vous convient à associer à controle et fermer la boite par OK
Il suffira de taper ctrl+lettre pour que la macro s'exècute.
Attention, important:
ces macro annulent la possibilité de correction et ne vous permet pas de revenir en arrière en cas de fausse manoeuvre.
Bien cordialement

Messages postés
11
Date d'inscription
dimanche 16 septembre 2007
Statut
Membre
Dernière intervention
26 août 2012
2
Merci, et merci aussi pour l'explicatif qui est très clair, j'essaie

je connais le principe pour enregistrer une macro car avant de poser ma question j'avais essayé et j'ai bien enregistré une macro mais elle ne fait pas exactement ce à quoi je voudrais arriver !

Cordialement
Messages postés
23558
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
12 octobre 2020
6 402
Bonjour,

il faudrait être un peu plus précise pour expliquer ton besoin.
Bien sûr que ramener des données d'une feuille sur une autre est possible, et pas toujours obligatoirement par macro.
Decris ta feuille source et ta feuille destination, à quelle condition(s) tu recopies, d'où à où, etc
En plus tu peux déposer ton fichier sur www.cijoint.fr et colle le lien ici
eric
Messages postés
11
Date d'inscription
dimanche 16 septembre 2007
Statut
Membre
Dernière intervention
26 août 2012
2
j'au une feuill1 pour la gestion des RDV avec nom-adress-cp-ville-date-devis-produit...... (il peut y avoir plusieurs lignes par personne)
j'ai une feuill2 pour la prospection qui reprend nom-adress-cp-ville de la feuill1 et auxquels j'ajoute des info (il ne peut y avoir qu'une ligne par personne)

je souhaite que les lignes que j'ajoute dans feuill1 viennets'ajouter en bas du tableau de la feuill2

voici la macro que j'ai fait

ActiveWindow.SmallSroll Down:=-3
Range("A2:D10").select
Selection.Copy
Sheets("feuill2).select
tiveWindow.SmallSroll Down:=-3
Range("a2").select
ActiveSheet.paste
sheets("feuill1).select
Application.CutCopyMode = false

mais je n'arrive pas à faire exécuter pour que les lignes de feuille1 se recopie sur feuill2 mais en bas du tableau à la suite des autres lignes.

(si en plus elles pouvaient se trier par ordre alphabétique ce serait super)
Messages postés
23558
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
12 octobre 2020
6 402
Bonjour,

[A1].End(xlDown).Select te déplace sur la dernière cellule occupée vers le bas si A1 était occupée.
et là tu n'as plus qu'à te déplacer d'une ligne
eric
Messages postés
25369
Date d'inscription
lundi 23 juillet 2007
Statut
Contributeur
Dernière intervention
13 octobre 2020
5 521
Bonjour Eriiic, bonjour Natange
Alors il est possible à mon avis simplement de passer par une recherche.
Soit en fait exécuter la macro en sélectionnant la ligne sur la feuille 2
Cette ligne de référence sera remplie avec une formule conditionnelle associée à une cellule comportant la valeur à éviter, et liée à la feuille 1
Si je reprend pour être clair, par exemple pour 3 cellules en ligne A1, A2,A3 feuille 1(il peut y en avor autant que vous voulez, maxi 254!!)
Sur feuille 2, la macro va insérer les cellules correspondantes dans un tableau situé sur la même feuille, copier colller Valeur seulement, quelque soit le remplissage de la ligne du tableau 1
La cellule X4 (par exemple) Feuil2 comporte la formule =Feuil1!A1
La cellule Y4 (par exemple)comporte la formule RECHERCHEV, valeur de X4 dans le tableau feuil 2, colonne correspondante
Les cellules A1,A2 et A3 comportent respectivement les formules =si($X$4=$Y$4; 0;Feuil1! A1 ou A2 ou A3 Etc...
dans tous les cas, la ligne est insérée en utilisant bien sur l'insertion valeur seulement
Si X4=Y4, c'est à dire si le nom existe, la ligne sera égale à 0 et la macro en la classant va l'éjecter du tableau .
Evidemment, il ne peut y voir dans ce cas qu'une seule ligne traitée à la fois.
Nota: bien évidemment, les référence clé de sélection, choisies ici en A4 et B4 feuille2, peuvent être placée n'importe ou Feuil1 , 2, 3 ou ailleurs hors champ
Nota: Malheureusement,cette solution ne traite que les nouvelles insertoin, mais pas un tableau existant, sauf à réintégrer en ligne 1 les valeurs du tableau feui1 et lancer la macro à chaque fois, pour le mettre à jour
Mais pour tout ce brouillard,excusez moi:
D'une part,c'est simple à faire, mais pas facile à expliquer! (J'ai un dossier de coordonnées de personnes qui fonctionne très bien comme cela)
D'autre part c'est "ma" solution qui utilise des moyens classiques et la logique (petite macro et formules liées à mes connaissances limitées), mais je ne doute pas qu'une meilleure option soit possible?
........La nuit porte conseil (merci Raymond?).
Bien cordialement
PS1: Eriiic, je n'ai pas compris votre souci avec les colonnes supplémentaires?
PS2:j'ai aussi une combine du même style pour remplacer dans le taleau 2 les données correspondantes à la ligne d'une personne déja enregistrée, mais là, ça devient inexpliquable dans le texte, et il faut déja savoir si ce premier pas convient en partie à défaut de trouver mieux?
Messages postés
23558
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
12 octobre 2020
6 402
Re Vaucluse,

Je voulais juste dire que la feuille2 est apparement amenée à être complétée ("...et auxquels j'ajoute des info...") donc sûrement en colonne E, F,...
et le Selection.Insert Shift:=xlDown décalera vers le bas sur les colonnes A:D uniquement (largeur de la selection copiée) si je ne m'abuse, les commentaires en E2 par exemple ne seront plus en lien avec la bonne ligne (située x lignes plus bas suite au 'insérer-coller').

Ta méthode doit fonctionner, c'était juste une anticipation sur la question suivante ;-)
eric
Messages postés
11
Date d'inscription
dimanche 16 septembre 2007
Statut
Membre
Dernière intervention
26 août 2012
2
bonjour
je sais je suis très lente et pas rapide dans m:es réponses mais je vous remercie pour vos conseils.
Effectivement Eric tu as bien anticipé la suite

j'ai fait :
Sub Macro1()
'recopier lignes feuil1 en haut feuil2

Sheets("feuil1").Select
Range("A2:D10").Select
Selection.Copy
Sheets("Feuil2").Select
Range("A2").Select
Selection.Insert Shift:=xlDown
Application.CutCopyMode = False

'trier les lignes dans feuil2

ActiveSheet.Rows("2:300").Select
Selection.Sort Key1:=Range("b2"), Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal
End Sub

mais 2 problèmes :

dans mon tableau feuil1 seules les colonnes A à D m'intéressent pour recopier dans mon tableau feuil2 qui est complété par d'autres données dans les colonnes E à Q

1) pour le tri bien que je lui dise (tout du moins je crois le faire) de sélectionner les lignes entières (sauftitre) de la feuil2, le tri ne s'effectue pas ainsi et effectivement les valeurs rajoutées dans ma feuil2 en colonnes E à Q ne se retrouvent plus sur les bonnes lignes car le tri ne s'opère pas sur la totalité de la ligne

2) je souhaiterais modifier la ligne Range("A2:D10").Select pour mettre à la place une autre sélection : ce ne sont pas les10 premières lignes des colonnes A à D que je veux recopier car je remplis mon tableau de la feuil1 par le bas, et je voudrais que ce soit les dernières lignes du tableau qui soient recopiées et bien évidement d'une fois sur l'autre les références changent (je crois qu'il faudrait traduire cela en : je vais sur la dernière ligne du tableau, je sélectionne 20 lignes en remontant sans sélectionner la ligne des totaux et je copie...)! car en effet je peux dans le tableau feuil1 toujours mettre 20 lignes vides avant la dernière ligne du tableau qui sont des totaux statistiques et je remplis donc ces 20 lignes et je lance la macro de recopie/tri puis je rajoute dans la feuil1 20 lignes vides pour la prochaine fois

j'espère que mes explications sont claires

j'ai essayé de chercher par moi-même avec l'aide dans la macro mais c'est ardu pour quelqu'un qui vient de débuter. Que me conseilleriez-vous pour connaître les notions principales (style les sélections.....) pour modifier des macros?


MERCI à tous
je n'ai pas compris grand chose à la réponse de Vaucluse, je crois que cela devait être pour solutionner les doublons avec la fonction RECHERCHEV. J'avoue que je ne l'ai pas approfondie car Je dois dire que pour le moment le plus important est de faire ma copie et le tri et de comprendre surtout ce que j'écris!!!! donc commencer par une chose simple avant de faire les doublons
chaque chose en son temps dans ma petite tête. Par contre mon tableau aura plus de 254 lignes ! et la recherche des doublons sera complexe du fait des homonymes il faudra aussi regarder l'adresse
Messages postés
25369
Date d'inscription
lundi 23 juillet 2007
Statut
Contributeur
Dernière intervention
13 octobre 2020
5 521
On est d'accord Eriiiic!A la limite, la méthode marche sur toute la ligne! Sauf que je pense qu'il y a des solutions plus élégantes et que j'attends avec envie celui qui va nous la proposer.
Bien cordialement
Messages postés
23558
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
12 octobre 2020
6 402
Bonjour natange,

2)
'Sheets("feuil1").Select
'Range("A2:D10").Select
supprime ces 2 lignes et fais ta selection (4colonnes ou sinon étend ta sélection dans la macro) directement sur la feuille car excel ne peut deviner si tu as ajouté 5 ou 20 lignes, et démarres ton sub directement par 'Selection.Copy '.
Si vraiment c'est systématiquement 20 lignes à partir de la dernière c'est faisable
Ou autre façon quand tu voudras fignoler : ajouter une colonne (qui peut etre masquée) que ta macro marquera une fois copiée et ta macro ne copiera que celles non encore marquées

1)
Je n'ai pas testé mais je pense que ton tri est correct
C'est au moment de
Range("A2").Select
Selection.Insert Shift:=xlDown que ton décalage se produit.

Puisque tu finis par un tri colle tes données en bas
Pour atteindre la 1ère ligne libre (a condition que TOUTES les cellules colonne A aient une valeur):
[A1].End(xlDown).Offset(1, 0).Select
tu colles:
ActiveSheet.Paste
et tu tries....

qcq sites où tu peux trouver de bonnes astuces utiles sur excel :
tout d'abord http://www.cathyastuce.com/
https://apprendreexcel.com/
http://excelabo.net/


bon courage
eric
Messages postés
11
Date d'inscription
dimanche 16 septembre 2007
Statut
Membre
Dernière intervention
26 août 2012
2
Bonsoir

Ca fonctionne, merci mille fois:le tri se fait en tenant compte des lignes entières. J'ai fait comme tu as dit j'ai enlevé les 2 lignes et je sélectionne manuellement la plage à copier.

Selection.Copy
Sheets("Feuil2").Select
[A1].End(xlDown).Offset(1, 0).Select
ActiveSheet.Paste

'trier les lignes dans feuil2

ActiveSheet.Rows("2:300").Select
Selection.Sort Key1:=Range("b2"), Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal

Je vais néanmoins essayé de trouver la solution pour les 2 autres manières (avec les 20 lignes ou avec la colonne masquée)
cela me donne une base pour m'initier et m'exercer !

si je rame trop je remettrai une question sur ce forum, je ne connaissais pas c'est super intéressant
Cordialement et merci beaucoup à tout le monde
Messages postés
23558
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
12 octobre 2020
6 402
Et bien bravo natange, content que tu aies pris le virus ;-)

2-3 petits trucs pour t'aider à voir comment fonctionne ta macro et rechercher les erreurs:

- tu peux poser un point d'arret en cliquant à gauche de ta ligne de code (dans les gris). Un point marron le visualise.
Quand tu lances ta macro elle s'arretera ici et ensute tu pourras
- faire un pas à pas avec F8. Les lignes sont exécutées une à une et tu peux voir sur ta feuille si c'est réellement ce que tu as prévu (est-ce la bonne sélection, est-ce la bonne valeur dans la bonne cellule, etc)
- relancer ta macro jusqu'au prochain point d'arret par F5 (dans une boucle par exemple ou aller à la prochaine section que tu veux tester)

-utiliser les espions. menu "affichage / fenetre espions"
tu selectionnes dans ton code une variable ou une expression et tu fais un cliqué-glissé dans cette fenetre, tu vois sa valeur en permanence

Quand tu auras trouvé comment selectionner tes lignes automatiquement n'oublie pas que tu as les doublons à traiter ;-)
Le mieux pour ça est d'utiliser une clé unique que tu te fabriques (par exemple 3 1eres lettres du nom + 2 chiffres...)

Bon courage et reviens nous faire part de tes progrès
eric
bonjour à tous

j'ai crée un userform et je souhaiterais insérer les données de mon userform dans la ligne qui suit une ligne déjà remplie lorsque que je click sur mon bouton OK.
quelqu'un aurait-il une macro à me proposer.??!

merci
Bonjour à tous!

Je débute dans les macros

J'ai réussi à en créer une qui colle une ligne d'une page sur une autre page d'un autre classeur, et ce pour différente ligne.

Le problème qui se pose c'est que j'aimerais utiliser cette macro pour plusieurs tableaux. Je m'explique:

J'ai un modele de tableau de base que je remplis pour chacun de mes sujets.
Je souhaite ensuite rassembler leur moyenne pour les moyenner justement vers un tableau final.

J'arrive à récupérer les données de mon premier sujet et à lancer la macro pour qu'elle les colles automatiquement dans le tableau final.

Maintenant je souhaiterais que pour le prochain sujet, les mêmes opérations soient effectuées mais en décalant d'une ligne vers le bas et ce à chaque fois que je change de sujet... Est ce que ca vous parait clair?

Merci par avance de votre aide, je compte vraiment sur vous!
Bonjour,

je débutante en Vba.

je m'adresse à vous pour me donner un coup de main et merci d'avance.

en effet j'ai le même problème que vous, càd je voudrai une fonction qui copie automatiquement les données d'un tableau ( fichier Excel) qui se trouve dans un classer 1 vers un tableaux qui se trouve dans un classeur 2.

exemple: cellule B10: M10 dans le fichier 1 vers un autre fichier : B5:BM5

merci d'avance
Messages postés
386
Date d'inscription
dimanche 25 mars 2007
Statut
Membre
Dernière intervention
21 janvier 2019
26
Salut ,

Si tu as un tableau déjà rempli (feuille 1 ) , tu le sélectionnes et tu fait copier , ensuite tu va sur feuille 2 puis tu fait
édition > copiage spécial et tu sélectionnes l'option lier , et si tout va bien les changements que tu feras dans le tableau 1 s'appliqueront au tableau 2 ;)
Messages postés
11
Date d'inscription
dimanche 16 septembre 2007
Statut
Membre
Dernière intervention
26 août 2012
2
merci

j'utilise déjà le copier-coller manuel mais si je sélectionne tout le tableau avec des lignes vides pour mes futures données et que je fais copier-coller avec liaison, tous mes traitements précédents de la feuille 2 seronteffacés. C'est pour cela que je souhaiterais passer par une macro qui dirait d'aller ajouter à la fin du tableau d e la feuille2 les dernières lignes saisies

je souhaiterais que cela se fasse automatiquement ou juste en appuyant sur un bouton!

mes connaissances sont malheureusement limitées !
j'ai deja un tableau je voudrais juste ajouter une ligne.le tableau figure syr une seule ligne.
Messages postés
52430
Date d'inscription
lundi 13 août 2007
Statut
Contributeur
Dernière intervention
12 octobre 2020
14 279
et alors ? qu'est-ce qui t'en empêche ?
Messages postés
25369
Date d'inscription
lundi 23 juillet 2007
Statut
Contributeur
Dernière intervention
13 octobre 2020
5 521
Je ne pense pas que dans votre macro les Smallsroll soit utile(ce ne sont que des déplacements de l'affichage)
De plus, si c'est pour ensuite faire un tri par ordre alaphabétique, il n'y a aucun interet à l'inserer en haut ou en bas du tableau.
Il suffit de reprendre la macro qui insére en haut du tableau et de la continuer sur la feuille d'insertion en réalisant le tri.
pour cela, englober une large liste plus grande que votre champ et trier , c'est plus facile
Soit, si je reprends l'exemple que j'ai donné plus haut adapté à vos A2 :D10 (soit 9 lignes à la fois?)

Sub Macro9()
'
' Macro9 Macro
' Macro enregistrée le 25/09/2007
'

'
Sheets("Feuil1").Select
Range("A2:D10").Select
Selection.Copy
Sheets("Feuil2").Select
Range("A2").Select
Selection.Insert Shift:=xlDown
Range("A1:D100").Select
Application.CutCopyMode = False
Selection.UnMerge
Selection.Sort Key1:=Range("A2"), Order1:=xlAscending, Header:=xlYes, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal

End sub


Cette macro va insérer vos lignes en haut du tableau, à partir de la ligne A2 si vous avez mis des titres en A1, fera descendre les autres,et fera le classement de votre tableau selon les référence de la 1° colonne du tableau.
La macro limite le champ de tri a D100, mais vous pouvez aller jusqu'où vous le souhaitez, il suffit de modifeir D100 dans la sélection
Espérant vous aider avec cela.
Peti tuyau:
si vous voulez que le tableau final représente l'intial, vous pouvez soit numéroté les lignes sur la colonne du premier tableau correspondante au référence de tri du second, ou insere date et heure de cration de la ligne
Dans la même cellule, faite ctrl; pour la date et ctrl+; suivi de / pour date et heure_ sans espace entre les deux. Ainsi vos lignes seront reclassées dans le sens de la création
pour incrémenter automatiquement une numération dans la colonne A par exemple, taper dans cellule A2 le chiffre 1 et ensuite "tirer" à partir de A3 la formule suivante sur la hauteur voulue:
=SI(ESTVIDE(B3;0;MAX($A$2:A2)+1))
Vos lignes seront numérotés succesivement même si vous en sautez une et votre tableau se remettra en ordre sur la feuille 2
-------
Science sans conscience n'est que ruine de l'Ame

C'est surement génial ces explications, mais cést incompréhensible.
Messages postés
52430
Date d'inscription
lundi 13 août 2007
Statut
Contributeur
Dernière intervention
12 octobre 2020
14 279
Non ; ce n'est incompréhensible que pour ceux qui n'y connaissent rien en VBA ( et pour les milliards d'êtres humains qui ne connaissent ni le français ni l'anglais).
>
Messages postés
52430
Date d'inscription
lundi 13 août 2007
Statut
Contributeur
Dernière intervention
12 octobre 2020

Bonjour Raymond PENTIER , je débarque ici , mais merci pour cette macro , je m'en suis inspiré pour un autre tableau. Moi j'ai un autre souci , je voudrais savoir si il est possible d'effectuer mon collage dans un autre tableau et jusque là tu m'a parfaitement aidé avec ton commentaire du dessus(selection.copy ect) , merci encore. Le seul soucis c'est que j'ai des totaux dans mon deuxieme tableau(celui dans lequel ma macro va coller mes données) , et le fait d'avoir deux ou trois lignes supplémentaires dans mes données , je me retrouve à effacer mes totaux( qui se retrouvent remplacé par ces lignes supplémentaires , et j'aimerais les conserver. Est ce possible?
Messages postés
52430
Date d'inscription
lundi 13 août 2007
Statut
Contributeur
Dernière intervention
12 octobre 2020
14 279 > Cyprien
Petite confusion : c'est Vaucluse qui a proposé cette macro ; moi, j'y connais rien !
Messages postés
25369
Date d'inscription
lundi 23 juillet 2007
Statut
Contributeur
Dernière intervention
13 octobre 2020
5 521
Bonsoir Eric
Je pense pouvoir confirmer sans trop de risques, c'est bien à l'insertion que ce produit le décalage. En fait la macro copie, insére et décale jusqu'à la colonne 10, et ne va pas plus loin que ce qu'elle à copié.

En fait il faudrait pour résoudre le probléme, sélectionner les lignes entière dans la phase copie,ou au moins une largeur identique au tableau de réception, ainsi tout le tableau serait décalé.

Il fallait savoir que le champ de réception était plus large que la zone copiée!
CRDLMT
Messages postés
23558
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
12 octobre 2020
6 402
Tout à fait, C'est l'insertion et c'est ce sur quoi j'alertais dans mes post 11 et 13.
Effectivement on pourrait aussi sélectionner plus large dans la feuille source mais à condition qu'elles soient vides ou alors les vider aprés le coller.
cdt eric