Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Microsoft 365 probleme de recopie

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

blancolie

XLDnaute Impliqué
bonsoir,

dans l'onglet bdd_fleurs, j'ai crée un tableau à partir de G18 et un autre tableau à partir de B19. grâce à un code vba que j'ai du adapter mais surement mal adapter. le contenu de la colonne en G doit se recopier automatiquement dans la colonne B. cela marche mais tout n'est pas recopier. Je vois pas le problème.

Voyez vous ou peut se situer le problème ?

En vous remerciant d'avance pour votre aide
 

Pièces jointes

Bonjour Blancolie,
Je ne sais pas si j'ai tout résolu mais j'ai au moins avancé. Voir PJ.
Vous confondez deux choses : le nombre d'éléments dans une liste et le N° de ligne où ça doit être rangé.
"n" vaut 486, vous avez donc 486 éléments dans votre liste.
Cependant ils doivent être rangés de Ligne=19 à Ligne = 486+19. et non jusqu'à Ligne=486.
J'ai donc rajouté : n = n + 19 avant le with.
 

Pièces jointes

je vois que tu as rajouter une ligne 😀erLig = Range("G65500").End(xlUp).Row.

cela veut dire que cela n'ira pas apres la Colonne G 65500 ? et si mon interprétation est bonne, sommes nous obligé d'inserer cette ligne?
 
Vous pouvez conserver votre code initial.
Je voulais comprendre comment il marchait, j'ai préféré DerLig pour pouvoir le tracer.
La modif n'utilise que n, donc peut d'importance.
A tester.
 
Bonsoir,

Dans son post #6, Blancolie a écrit :

« cela veut dire que cela n'ira pas après la cellule G65500 ? »

Mettre : DerLig = Cells(Rows.Count, "G").End(xlUp).Row

ou : DerLig = Cells(Rows.Count, 7).End(3).Row

(c'est juste pour info, puisque la modif n'utilise que n)

soan
 
bonsoir Sylvanu,

je reviens sur ce que tu m'as dit sur ce que je confond n et les lignes.

Toujours du mal avec le vba,
n c'est toujours = aux nombres des éléments en vba ? et ligne est re^resenté comment ?

merci pour ton eclairage
 
Bonsoir Blancolie,
Dans votre feuille la première ligne est en 19. Mais un tablo commence en indice 1.
Donc pour le transfert il faut décaler de 19.
Lorsque vous faites :
VB:
Range("D19").AutoFill Destination:=Range("D19:D" & n + 1), Type:=xlFillDefault
Le n qui est le nombre d'éléments dans tablo doit être de n+19 pour faire le décalage dans les lignes.
D'où le :
Code:
n = n + 19 ' n est le nombre d'éléments, 19 est le décalage des N° de lignes

Sinon votre liste dans la feuille ira de 19 à n, au lieu de 19 à n+19.
 
Quand vous faites tablo =xxxx , en fait vous transférer des valeurs dans le tablo, ces valeurs peuvent être des chaines, des chiffres ou n'importe quoi. On parle d'éléments.
Si on observe votre tablo après le transfert, on obtient ceci :

Vous voyez que le premier élément noté tablo (1,1) est Acalypha wilkesiana red qui est la valeur qu'il y a en ligne 19.
Quand on refera le transfert, il faudra transférer l'élément tablo(1,1) en ligne 19.
 
Ce schéma est dans VBA, fenêtre Espions : tu dois espionner
la variable tablo, sans te faire repérer par d'éventuels
agents du contre-espionnage (sinon, tu es grillée !).

Dans le menu, tu as : Débogage / Ajouter un espion...
et : Affichage / Fenêtre Espions

(mes amitiés à James Bond 007)

soan
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
6
Affichages
209
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…