[MISE A JOUR] Très belle fonction pour concaténer une plage

Note : je viens d'éditer ce post pour prendre en compte les commentaires ci-dessous.
Merci à tous.

Vous pouvez télécharger ici un fichier exemple.

Cette fonction permet de concaténer une plage avec un séparateur.


Function ConcatenateRange(ByVal cell_range As range, _
Optional ByVal seperator As String) As String
Dim cell As range
Dim newString As String
Dim cellArray As Variant
Dim i As Long, j As Long

cellArray = cell_range.Value

For i = 1 To UBound(cellArray, 1)
For j = 1 To UBound(cellArray, 2)
If Len(cellArray(i, j)) <> 0 Then
newString = newString & (seperator & cellArray(i, j))
End If
Next
Next

If Len(newString) <> 0 Then
newString = Right$(newString, (Len(newString) - Len(seperator)))
End If

ConcatenateRange = newString

End Function

Si vous utilisez CHR(10) comme séparateur, ca va mettre les différents éléments les uns en dessous des autres (voir la fonction ConcatenateRangeRetourLigne du fichier).
Il faut aussi activer le retour à la ligne automatique pour cette cellule :

concatener-plage-renvoi-automatique-a-la-ligne

Pour utiliser cette fonction, copiez le code dans un module VBA, puis dans Excel, vous tapez la fonction en commençant par =.

Voici une vidéo qui explique comment faire à partir d'un fichier vide :

A bientôt

Source :
http://stackoverflow.com/questions/8135995/how-to-merge-all-column-into-one-cell-in-excel

Gaëtan

Connecter Google Drive (feuille de calcul) et Excel

Vous avez surement tous entendu parler de Google Drive et notamment de Google "Feuille de calcul".

Je l'utilise en général quand je travaille avec de nombreux participants (par exemple mes étudiants) ou pour compléter très rapidement un tableau de données. J'envoie un lien public et je demande à chaque participant de compléter une ligne. En général, ça va assez vite et c'est très sympathique de voir le tableau se remplir en live et quasiment automatiquement !

Google "Feuille de calcul" est de loin bien meilleur qu'Excel pour le travail collaboratif.
En dehors de cela, Excel reste mon favori ;-).

Donc, voici comment connecter une feuille Google avec un classeur :

Pour cela, voici une première approche :
- Dans Google "Feuille de calcul", choisir "Publier sur le web" et copier le lien. Attention à ne pas utiliser de données confidentielles.
publier-sur-le-web-excel-google-drive
- Dans Excel : onglet Données, puis Web, puis coller le lien
donnees-webs
- Cliquez sur la petite flèche jaune pour sélectionner la table.
selection_donnees
- Validez avec Importer. C'est fini !
resultat_connexion-google-drive-excel

L'actualisation de la requête et l'accès aux propriétés se fait en un clic droit :
propriete_actualiser

Vous pouvez aller dans les propriétés de la requête (clic droit) pour actualiser la connexion, comme les options de rafraichissement ou la recopie des formules vers le bas.
proprietes

A bientôt.

Gaetan