Histoire de copier coller

stephane.quinquis

XLDnaute Junior
Bonjour le forum,


J'ai plusieurs bacs de différentes sources que je souhaite regrouper dans une seule et même cuve. Le fichier que j'ai crée doit permettre à la personne de pouvoir gérer cela.
Je souhaite donc:
copier tous les différents n° bac et les coller dans une seule et même cellule
copier le nouveau n°cuve et le coller sur chaque ligne où il y a un ancien bac

Mon problème est le suivant:
je ne sais pas s'il est possible de regrouper l'info de plusieurs cellules en une seule et meme cellule
le nombre de bacs étant variable(de 2 à 10) dans une meme cuve, il est donc nécessaire de pouvoir compter le nombre de lignes avant de copier coller l'info surtout pour l'info qui copie le nouveau n°cuve vers les anciens bacs.

J'espère avoir été assez clair.
Merci d'avance.

Le fichier exemple inventaire chambre positive:
Cijoint.fr - Service gratuit de dépôt de fichiers
 

Robert

XLDnaute Barbatruc
Repose en paix
Re : Histoire de copier coller

Bonjour Steph, bonjour le forum,

Peut-être comme ça :
Code:
Sub transfertdedonnées()
Dim cel As Range
Dim bacs As String
 
For Each cel In Range("A9:A16")
    If cel.Value <> "" Then
        bacs = bacs & cel.Value & " "
        Cells(cel.Row, 5).Value = Range("A7").Value
    End If
Next cel
Range("E7").Value = bacs
End Sub
 

stephane.quinquis

XLDnaute Junior
Re : Histoire de copier coller

Bonjour Robert, rebonjour le forum

Ta macro a l'air de fonctionner mais je n'arrive pas à l'adapter à une autre macro. J'aurai voulu savoir à quoi correspond le 5??? Et également une courte explication sur le fonctionnement de cette macro afin que je puisse la corriger.

Merci
 

Robert

XLDnaute Barbatruc
Repose en paix
Re : Histoire de copier coller

Bonjour Steph, bonjour le forum,

la même commentée :
Code:
Sub transfertdedonnées()
Dim cel As Range 'déclare la variable cel (CELlule)
Dim bacs As String 'déclare la variable bacs (numéros des BACS)
 
For Each cel In Range("A9:A16") 'boucle sur toutes les cellules cel de la plage A9:A16
    If cel.Value <> "" Then 'condition : si la cellule n'est pas vide
       'définit la variable bacs
        bacs = bacs & cel.Value & " " ' ancienne valeur + nouvelle + espace
        'attibue à la cellule sur la même ligne que cel, colonne 5, la valeur de A7
        Cells(cel.Row, 5).Value = Range("A7").Value
    End If 'fin de la condition
Next cel 'prochaine cellule cel de la boucle
Range("E7").Value = bacs 'place en E7 la variable bacs
End Sub

Je prends le temps, en principe, de commenter le code mais j'ai dû partir rapidement et j'ai préféré t'envoyer la réponse sans explications. Mais tu peux aussi utiliser l'aide VBA quand tu as un soucis de compréhension de code...

Edition :

Tiens, j'ai retrouvé ça dans mes archives ! Tu as de la chance que se soit après avoir répondu sur ce fil. Car les gens qui ne prennent ni le temps de lire les réponses qu'on leur donne ni celui de remercier, ne méritent pas que l'on se décarcasse pour eux...
 
Dernière édition:

Discussions similaires

Membres actuellement en ligne

Aucun membre en ligne actuellement.

Statistiques des forums

Discussions
312 294
Messages
2 086 895
Membres
103 404
dernier inscrit
sultan87