Fusion de cellule en vba

Résolu
lara -  
 lara -
Bonjour,
J'aimerais fusionner une plage de cellule pour qu'il ne restre qu'une cellule pour cela j'utilise le code suivant qui ne fait pas totalement ce que je désire:

Application.DisplayAlerts = False
colonneDépart = 1
For i = numligne To numligne + 3
Feuil5.Cells(i, 1) = Feuil5.Cells(i, 2) & Feuil5.Cells(i, colonneDépart + 1)
Feuil5.Cells(i, colonneDépart).Resize(1, 2).Merge
Next

J'ai donc une plage de 4lignes et 2 colonnes aprés exuction du code j'ai donc 4lignes et une colonne ce que j'aimerais ce que j'aimerais c'est que tous ce fusionne pour qu'il ne reste qu'une seule cellule mais je ne sais pas comment m'y prendre.
Merci d'avance,
Bon aprés midi!



2 réponses

dobo69 Messages postés 1720 Statut Membre 832
 
bonjour,
parce qu'il faut que tu fusionnes aussi les lignes non ?
essaie avec ca :

Dim texte As String
texte = ""
Application.DisplayAlerts = False
colonneDépart = 1
For j = colonneDépart To 2
For i = numligne To numligne + 3
texte = texte & Feuil2.Cells(i, j)
Next i
Next j
Feuil5.Range(Cells(numligne, colonneDépart), Cells(i - 1, j - 1)).Merge
Feuil5.Cells(numligne, colonneDépart) = texte
End Sub

(récupère d'abord tous les textes des cellules dans 'texte' puis les fusionnent puis colle 'texte' dans la "nouvelle" cellule.. )
0
lara
 
Ca me met une ereur : La méthode Range de l'objet Worksheet à échoué
0
dobo69 Messages postés 1720 Statut Membre 832
 
sorry, petite erreur de copier-coller pour texte = texte & feuil5.cells(i,j)

code complet :
Dim texte As String
texte = ""
Application.DisplayAlerts = False
colonneDépart = 1
For j = colonneDépart To 2
For i = numligne To numligne + 3
texte = texte & Feuil5.Cells(i, j)
Next i
Next j
Feuil5.Range(Cells(numligne, colonneDépart), Cells(i - 1, j - 1)).Merge
Feuil5.Cells(numligne, colonneDépart) = texte
End Sub

Ceci dit cela ne devrait pas renvoyer d'erreur de ce type pais plutôt 'objet requis' ou qqchose du genre, mais bon..
0
dobo69 Messages postés 1720 Statut Membre 832
 
petit fichier exemple avec le code en question :
http://www.cijoint.fr/cj201006/cij2trDBsB.xls
0
lara
 
C'est bizard j'ai exactement le mm code si ce n'est le numéro de fueil mais ca me fait la mm erreur
0
lara
 
En fete j'ai testé exactement pareil ca marche si le bouton est sur la meme fueille mais si j'utilise le code a partir d'un click sur bouton valider dans un formulaire la ca me met l'erreur d'éxécution, aurait tu une idée ?
0
michel_m Messages postés 18903 Statut Contributeur 3 317
 
Bonjour

petite démo à adapter à ton pb

cellules A1: B4 avec des données
retourne en A10 les textes concaténés 4 lignes, 1 colonne

Sub fusionner()
 Dim tablo(1 To 4)
 Dim cptr As Byte
 For cptr = 1 To 4
 tablo(cptr) = Cells(cptr, 1) & " " & Cells(cptr, 2)
 Next
 Cells(10, 1) = Join(tablo, vbLf)
End Sub


http://www.cijoint.fr/cjlink.php?file=cj201006/cijTC0Pqz8.xls
0