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

Microsoft 365 probleme de recopie

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

  • Classeur1.xlsm
    92.6 KB · Affichages: 22

sylvanu

XLDnaute Barbatruc
Supporter XLD
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

  • Classeur1 (22).xlsm
    92.4 KB · Affichages: 3

blancolie

XLDnaute Impliqué
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?
 

soan

XLDnaute Barbatruc
Inactif
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
 

blancolie

XLDnaute Impliqué
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
 

sylvanu

XLDnaute Barbatruc
Supporter XLD
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.
 

sylvanu

XLDnaute Barbatruc
Supporter XLD
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.
 

soan

XLDnaute Barbatruc
Inactif
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
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…