Extraction de cellules / colonnes et insertion de lignes automatiques

Bonjour

je voudrais bien ton avis sur le plantage 1004

Je n'ai pas d'avis car je n'ai pas de plantage.

Pour pouvoir essayer de supprimer un bug, il faudrait que je puisse le reproduire. Or, ce n'est pas le cas.

Désolé.

Bye !

Salut Gmb

-c'est étrange que tu n'ai pas ce plantage ...avec le fichier "logi" (en pj) qui ne contient q'une seule ligne, j'ai cette erreur 1004..."la méthode autofil de la classe range a échoué"

j'ai compris le phénomène (1 ligne d'importation , ça plante , à partir de 2 ça fonctionne bien) mais ne sais pas comment corriger dans le codage / déboggage

en fait après le déboggage l'importation ça doit être mais le centrage des termes dans les cellules qui doit créer ce bug...

-De plus pourrais tu m'expliquer comment remplacer l'importation de la colonne P par la colonne B j'ai cherché dans le code ou je pourrais trouver le noms des colonnes pour les remplacer par d'autres au niveau de l'importation ton codage est bien compliqué pour moi

merci par avance

@+Fab

6logi.xlsx (9.67 Ko)

Bonjour

Nouvelle version.

Bye !

Salut Gmb ,

merci de te passer du temps sur mes problèmes, tu y es presque : )

l'erreur 1054 n'y est plus !!! mais je rencontre tout de même un souci de mise en forme entre les fichiers importés ayant generés une ligne et ceux en ayant generé plusieurs : voir PJ.

sinon je n'arrive toujours pas à reperer dans ton codage ou l'on peut remplacer les colonnes importées dans le modele ?

j'ai reussi à trouver les lignes de commande dans la version de RAG qui sont ecrites sous cette forme et ça serait bien pratique si les tiennent l'étaient egalement, comme ça je pourrais adapter le rapatriement de mes colonnes suivant les futures demandes.

RAG a ecrit son codage sous cette forme :

' #### Rapatriement des données ####

' Rapatriement des Batteries Description
Range("X" & premiere_ligne_incoming & ":X" & derniere_ligne_incoming).Copy
ThisWorkbook.Sheets("Confirmation of receipt").Range("B" & premiere_ligne_confirmation).PasteSpecial Paste:=xlPasteValues
' Rapatriement des Serial number
Range("M" & premiere_ligne_incoming & ":M" & derniere_ligne_incoming).Copy
ThisWorkbook.Sheets("Confirmation of receipt").Range("D" & premiere_ligne_confirmation).PasteSpecial Paste:=xlPasteValues
' Rapatriement des Repair number
Range("P" & premiere_ligne_incoming & ":P" & derniere_ligne_incoming).Copy
ThisWorkbook.Sheets("Confirmation of receipt").Range("E" & premiere_ligne_confirmation).PasteSpecial Paste:=xlPasteValues
' Rapatriement des Incoming date
Range("AF" & premiere_ligne_incoming & ":AF" & derniere_ligne_incoming).Copy
ThisWorkbook.Sheets("Confirmation of receipt").Range("F" & premiere_ligne_confirmation).PasteSpecial Paste:=xlPasteValues
Application.CutCopyMode = False

ça te serait possible de convertir ton codage sous cette forme? je sais que j'en demande un peu beaucoup ....

@+Fab

2022 03 15 08 22 45 window 2022 03 15 08 22 50 window

je rencontre tout de même un souci de mise en forme entre les fichiers importés ayant generés une ligne

Tu veux sans doute parler de la ligne unique du fichier "logi.xlsx".

La cellule M2 dans ce fichier comporte 2 un renvoi à la ligne qui ne se voit pas dans le fichier car la 2° ligne est vide. Importée dans le fichier de confirmation, c'est la 1° ligne qui se voit mal.

je n'arrive toujours pas à reperer dans ton codage ou l'on peut remplacer les colonnes importées dans le modele

Il s'agit de ces 2 instructions :

col = Array(12, 1, 4, 20)
colR = Array(1, 3, 4, 5)

col est la variable qui correspond à la colonne du fichier du fichier source que l'on veut importer à la colonne ColR du fichier destination.

On importe donc successivement les données de la colonne 12 à la colonne 1 puis celles de la colonne1 à la colonne 3 etc

ça te serait possible de convertir ton codage sous cette forme?

Non, désolé !

Chacun à sa façon de travailler.

Demande à RAG d'adapter ma macro à sa façon de faire. Peut'être sera-t-il mieux disposé que moi...

Bye !

merci d'avoir pris le temps de m'expliquer ; )

j'ai procedé par "logique" et j'ai remplacé les termes par ce que j'ai souligné :

col = Array(16, 5, 1, 24)

colR = Array(1, 3, 4, 5)

tablo = f.Range("I2:AF" & f.Range("A" & Rows.Count).End(xlUp).Row)

et ça a l'air de fonctionner !!!!!!!

je suis trop content !!!!!

je teste et je viens faire un retour ; )

@+Fab

une derniere question et après je te laisse tranquille je pense ; )

pourquoi lorsque j'importe les éléments sur mon modèle , la colonne "serial" number , lorsque je la transfere en partage sur google sheet , se décale complètement au niveau de sa mise en forme ??? (PJ)

je cherché la cause sur la mise en forme du modele mais n'arrive pas à trouver pourquoi ....j'ai tout essayé ...rien n'y fait ...

y a t il une ligne de code qui influence la colonne D21 au niveau du collage des infos ? et qui se repercuterai sur sa mise en page / format de cellule quand je partage mon fichier sur google sheet
?

2022 03 15 16 34 46 window

pourquoi lorsque j'importe les éléments sur mon modèle , la colonne "serial" number , lorsque je la transfere en partage sur google sheet , se décale complètement au niveau de sa mise en forme ??

Aucune idée.

Désolé ...

Bye !

Merci quand même Gmb

si un membre du forum a une idée , car j'ai vraiment fais le tour de toutes les mises en formes de cellules et ......je ne sais pas....

on dirait que google sheet impose une conversion de mise en forme dans cette colonne au moment de l'enregistrement....

c'est un truc de fou qui oblige encore à sélectionner ....remettre en forme etc ....bref ...à ne pas automatiser ....merci sheet ....

@+Fab

Salut Gmb

après avoir beaucoup cherché j'ai compris d'où vient le problème !!! et surement pas de ton fichier ....

nous rentrons les informations avec des scanettes , et certains modeles rajoutent un retour à la ligne automatique (touche "enter") automatiquement et d'autres pas !!!!!

Pourrais tu créer une dernière version avec l'option suppression des retours à la ligne dans l'exportation à partir de la colonne D21 ?

(ou pour toutes les colonnes si plus rapide pour toi)

et me montrer ta ligne de codage , comme ça si je dois modifier ton fichier un jour je pourrais m'inspirer de cette nouvelle ligne de codage et l'appliquer aux autres colonnes / cellules.

un GRAND merci par avance

@+Fab

Bonjour

Dans la macro, après le commentaire vert "'On reporte les données" tu as ces instructions :

        For j = 0 To 3
            tabloR(i, colR(j)) = tablo(i, col(j))
        Next j

"tabloR" est la variable tableau où on reporte le résultat des données exportées qui viennent de la variable tableau "tablo".

Or, dans le fichiers source, les données comportent parfois des retours à la ligne indésirables. On peut les supprimer directement lors du report d'un tableau à l'autre en modifiant l'instruction ainsi :

        For j = 0 To 3
            tabloR(i, colR(j)) = Replace(tablo(i, col(j)), vbLf, "")
        Next j

Sur mon PC, ça a l'air de fonctionner.

OK ?

Bye !

je test demain en arrivant au taf : merci pour ton aide en tout cas , tu n'imagines même pas comme ça me fait gagner du temps ; )

te redis vite

@+Fab

Salut Gmb

je te confirme que ton codage fonctionne parfaitement sur mon ordi et que je n'ai plus de soucis de mise ne forme de cellules au passage d'excel en mode partage sur google sheet!!!!

c'est le top !!! quand je pense au temps que ça va me faire gagner ....je ne sais comment te remercier !!!

ainsi que Rag qui s'est également penché sur mon probleme ; )

je test tout ça jusqu'a la semaine prochaine et reviens faire un retour pour clore le sujet ; )

@+Fab

salut à tous

depuis le temps ,je vous confirme que ce développement fonctionne à merveille et me fait gagner énormément de temps !!!

j'ai de temps à autres des bizarreries : des importations / rapatriements qui ne se font pas aux bons endroits , mais il suffit de relancer la macro avec le bouton kivabien pour palier au souci .

j'aurais un autre projet dans le même style , mais je vais ouvrir un autre post ; )

encore merci à tous

@+Fab

Bonjour

Un service après vente qui est sollicité au bout de plusieurs mois pour dire que tout va bien, voilà qui est peu courant !

En tout cas merci, ça fait toujours plaisir .

Bye !

Salut gmb ,

tout va bien bien au contraire , je pense que ce sont les extractions via mon soft qui sont en causes (je me suis mal exprimé) pas ton développement : )

je ne me serais pas permis ; )

@+Fab

Rechercher des sujets similaires à "extraction colonnes insertion lignes automatiques"