Macro sélection de plage + boucle + concat

Emidaf

XLDnaute Nouveau
Bonjour tout le monde,

Je suis nouvelle sur le forum (que je trouve très intéressant)...et novice en ce qui concerne les macros vba...
Tout d'abord, je remercie d'avance tous ceux qui porteront un intérêt à ma demande... qui est certes compliquée vue de ma fenêtre !

J'essaie depuis déjà plusieurs jours de construire une macro qui devrait normalement me permettre de sélectionner une plage de cellules dans mon fichier pour ensuite la concatener dans une nouvelle feuille, et ce tant que les cellules selectionnées contiennent des valeurs différentes de 0.

...Je ne sais pas si je suis claire...mais je vais essayer de vous expliquer plus en détails ma demande (voir aussi la pièce jointe)...

Voici la macro que j'ai construite :

'Macro qui marche bien

'Dim c As Long, c As <> ""
'Dim c As Range, Concat$
Dim Ws As Worksheet

For Each c In Range("a2:a15")
If c <> 0 Then Concat = Concat & c & ";"
Next

Sheets.Add.Range("a3") = Mid(Concat, 1, Len(Concat))

End Sub


Cette macro fonctionne très bien... SAUF qu'il me faut prendre une plage de cellules qui sera différente d'un fichier à un autre ! Cette plage pourra très bien être situé en colonne A qu'en colonne B, ou même T et peut également aller jusqu'à la ligne 1000.

J'ai tout essayé (Range(ActiveCell, ActiveCell.End(xlUp)).Select.... mais je n'arrive pas à intégrer la sélection de plages dans ma macro !


J'espère avoir été clair....et je vous remercie d'avance tout le monde pour votre support & votre aide.


Cdlt.

Emidaf
 

Pièces jointes

  • Exercice Macro.xls
    60.5 KB · Affichages: 73
C

Compte Supprimé 979

Guest
Re : Macro sélection de plage + boucle + concat

Bonjour Emidaf et bienvenue sur ce forum ;)

Essaye avec ce code
Code:
Sub Macro6()  Dim Concat As String
  Dim Rng As Range, Concat As String
  Set Plage = Application.InputBox("Sélectionnez une plage !", "Sélection de cellules", Type:=8)
  For Each rng In Plage
    Concat = Concat & rng & ";"
  Next rng
  Sheets.Add.Range("a3") = Mid(Concat, 1, Len(Concat))
End Sub

A+
 

Pierrot93

XLDnaute Barbatruc
Re : Macro sélection de plage + boucle + concat

Bonjour,

pas ouvert ton fichier, mais peut être faire ta boucle en utilisant la propriété "UsedRange"...

Code:
For Each c In Sheets("Feuil1").UsedRange

bon après midi
@+

Edition : bonjour Bruno:)
 

Emidaf

XLDnaute Nouveau
Re : Macro sélection de plage + boucle + concat

Bonjour BrunoM45 & merci,

C'est génial, tu es trop fort... ta macro marche parfaitement !

Merci beaucoup...j'ai vraiment besoin de cette macro au quotidien & j'ai beaucoup galéré sans trouver la solution malheureusement :(

A bientôt.



PS: merci aussi à Pierrot93 pour l'attention porté à ma demande...
 

Discussions similaires

Réponses
2
Affichages
152
Réponses
26
Affichages
378
Réponses
12
Affichages
568

Statistiques des forums

Discussions
312 215
Messages
2 086 329
Membres
103 183
dernier inscrit
karelhu35