Liste de 1342 mots a mettre une seule cellule

Résolu
aurel -  
Mike-31 Messages postés 18405 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,

j'ai une liste de 1342 mots que je voudrai mettre dans une seule cellule séparé par un espace pour qu'ils soit tous aligné pour ensuite les exporter vers Word.

j'ai déja essayé avec = concatener (ça marche pas) et aussi la fonction =A1&" "&A2 (ça ne donne pas ce que je veux).

Pouriez-vous m'aidé svp...

2 réponses

  1. pijaku Messages postés 13513 Date d'inscription   Statut Modérateur Dernière intervention   2 773
     
    Bonjour,
    insère cette procédure dans un module (depuis ta feuille taper ALT+F11 puis Insertion/modules)
    Sub CollerDansUneCellule() 
    Dim Lig As Integer, derlig As Integer, Col As Integer 
    Col = 1 'à adapter, place ici le chiffre correspondant à la colonne contenant ta liste de noms 
    derlig = Cells(65536, Col).End(xlUp).Row 
    For Lig = 1 To derlig 
        Cells(2, Col + 1) = Cells(2, Col + 1) & Cells(Lig, Col) & " " 
    Next 
    End Sub

    Pour lancer la procédure, revenir sur la feuille concernée et ALT+F8 "Exécuter"
    Franck P
    1
    1. aurel
       
      j'ai fait cette action le probleme est que ce ne prend la colone jusqu'a la fin. ca s'arrete a la ligne 84.
      0
    2. pijaku Messages postés 13513 Date d'inscription   Statut Modérateur Dernière intervention   2 773
       
      ce que tu vois dans la cellule de destination s'arrête peut être à la ligne 84. Mais la macro elle, concatène toutes les lignes de la colonne concernée. L'affichage sous excel n'affiche que les 1024 (de tête) premiers caractères dans la cellule, mais jusqu'à plus de 30000 en réalité. Clique sur ta cellule de destination et regarde dans la barre de formule...
      Si ça fonctionne, ne reste plus qu'à copier/coller sous word.
      Tu dis...
      0
    3. AUREL
       
      Dans le barre de formule ca n'affiche que jusqu'a la ligne 84 et quand j'ai copier / coller dans word c'est la même chose. je comprend pas .
      0
    4. AUREL
       
      Il me dit comme message d'erreur : " erreur d'exécution'7' " Mémoire insuffisante.
      il me propose ensuite : Fin ou Debogage
      0
    5. pijaku Messages postés 13513 Date d'inscription   Statut Modérateur Dernière intervention   2 773
       
      Cliques donc sur débogage et reviens coller ici la ligne de code qui est surlignée...
      Ou plus simplement dis moi dans qu'elle colonne est ta liste de noms (sans cellules vides) et dans qu'elle cellule tu veux ton résultat...
      0
  2. Mike-31 Messages postés 18405 Date d'inscription   Statut Contributeur Dernière intervention   5 147
     
    Salut le fil,

    Je découvre cette discussion, le code de Pijaku que je salue est parfait, je viens de le tester sur 1500 lignes sans problème même si la totalité des données ne s'affiche pas dans la cellule de réception, elles sont visible dans la barre des formules et sont bien collées en totalité dans Word.

    Afin d'éviter un blocage du code sur une erreur d'utilisation j'aurais ajouté une gestion d'erreur et pour éviter que les données s'ajoutent indéfiniment sur des relances du code j'aurais effacé les données à l'activation du code ce qui peut expliquer la taille des données à exporter en fonction des mémoires.

    Sub CollerDansUneCellule()
    Dim lig As Integer, derlig As Integer, Col As Integer
    Col = 1 'à adapter, place ici le chiffre correspondant à la colonne contenant ta liste de noms
    derlig = Cells(65536, Col).End(xlUp).Row
    On Error Resume Next
    Cells(5, Col + 1).ClearContents
    For lig = 1 To derlig
    Cells(5, Col + 1) = Cells(5, Col + 1) & Cells(lig, Col) & " "
    Next
    End Sub
    0