Concaténer en VBA

Bonsoir

Dans une cellule, feuille ws1, dans une boucle sur i, je voudrais concaténer le nom et le poids d'un produit (Les deux sont ds la feuille ws1.)et les reporter ds une autre feuille ws2 pour avoir une description complète.

Le nom est en cellule ws1.cells(i, 43)

Le poids est en ws1.cells(i, 86), son unité est le g

i est l'indice de mon tableau source de base, (je balaye de i = 1 à N la feuille ws1)

Et je voudrais mettre le résultat ds une cellule cible dans une autre feuille, ws2, comme ceci:

'Colonne Description L = 12
ws2.Cells(j, 12) = ws1.Cells(i, 43) & "Poids = " & ws1.Cells(i, 86) & " g"

Pourquoi ça ne fonctionne pas ? J'obtiens seulement

ws2.Cells(j, 12) = ws1.Cells(i, 43)

Poids, valeur numérique et unité ne se concatènent pas.

La nature du contenu des cellules ? elles sont "nombre" pour le poids et "standard" pour la description.

Pourquoi ça ne marche pas ?

Je m'arrache les cheveux dessus depuis une heure, ça doit être évident..;(

Bonsoir,

Sans pouvoir voir le fichier et tester difficile de dire ce qui ne va pas, je n'ai pas l'impression que le code soit faux, la syntaxe me semble bonne, pourrais-tu nous transmettre ton fichier sans les informations confidentielles?

Bonjour,

C'est assez étrange, à première vue, ça devrait marcher. Ce serait plus simple d'en dire plus avec le code, ou au moins la partie du code concerné (si possible posté à l'aide des balises </> du ruban d'icônes).

Ca pourrait être un problème au niveau de la boucle de la variable j, un problème de condition !!!, un on error resume next qui créent une confusion en donnant l'illusion que le résultat de ws1.cells(i, 43) est renvoyé alors qu'il s'agit d'un autre résultat similaire (une initialisation par exemple ou la valeur antérieure)...

Cdlt,

Bonsoir,

à voir comme cela je ne vois qu'une possibilité : il y a un retour à la ligne dans une des cellules qui fait que le résultat se trouve sur deux lignes mais une seule est visible. Ou bien un retour automatique à la ligne dans une cellule trop petite pour recevoir le concaténé sur une seule...

Avez vous sélectionner la cellule cible puis agrandi la barre de formule ?

@ bientôt

LouReeD

Bonjour,

Il n'y a pas de raison que ça ne marche pas.

Je préfère écrire comme ça :

  ws2.Cells(j, "L").Value = ws1.Cells(i, "AQ").Text & "Poids = " & ws1.Cells(i, "CH").Text & " g"

Bonsoir,

un fichier pour illustrer mon "idée" :

Mais sans fichier comment effectuer les vérifications "basiques" ?

@ bientôt

LouReeD

Bonjour …

Vu pas vu : le texte est bon mais sa lecture est tronquée

a voir ou pas

J'avoue que je ne vois pas trop la différence..

Aussi je vous joins le fichier et la partie du code (joint ci dessous) que je cherche à mettre au point, page 4 du document joint, c'est la colonne 12: Descrpition qui me pose problème; elle doit regrouper les valeus de différentes colonens (à chaque langue), on agrémente la description du produit par l'adjonction de son conditioonement et de sa contenance (poids ou volume selon qu'il est solide ou liquide):

image

Pour la compréhension, il y 3 langues, dans l'ordre Ru, En, Fr), le russe, à cause du cyrillique obligeant à aller chercher les traductions ds des cellules fixes (cells(6,85) - cells(6,84) ...)

Les cellules sources sont définies en standard ou texte.

ws1 est la feuille base de données, sous ws1

les feuilles ws2, ws3 et ws4 sont les fichiers cibles.

Le code balaie laBDD et décide si l'article doit alimenter le fichier de miseà jour des Px Stock, ou les fichiers de création des articles (Photos et Textes). Tout ça va découler sur des fichiers csv import&és après ds le site

J'ai pour habitude de garder en remarques (') les lignes que je souhaite approfondir ou utiliser en modèle pour d'autres applications

En attendant que je comprenne ce qui ne va pas ds mon code, je concatène les 3 données (description, valeur et unité de contenance) ds la base ce qui l'allourdit c'est pourquoi j'aimerais le coder directement à partir des données de base et abandonner ces colonnes 32/33/34 de ws1, inutiles en allant chercher les infos en 43,44,45 (descriptions) et 86,87 (vol ou poids) pour les contenances.

Message à ordonc: comment ça se concrétise chez moi ? je ne comprends pas

Rechercher des sujets similaires à "concatener vba"