Fusion de cellules sous vb avec excel

Résolu/Fermé
Iloon Messages postés 22 Date d'inscription mercredi 17 octobre 2007 Statut Membre Dernière intervention 29 mars 2008 - 17 janv. 2008 à 15:15
Iloon Messages postés 22 Date d'inscription mercredi 17 octobre 2007 Statut Membre Dernière intervention 29 mars 2008 - 18 janv. 2008 à 09:30
Bonjour,
J'ai posté tout à l'heure une autre discussion à propos de la programmation en vb sur excel et je suis à nouveau bloquée ;

En fait, maintenant, je souhaiterai que le code détecte une cellule vide dans une colonne donnée et qu'il la fusionne avec la cellule du dessus. Donc il y aurait une grande fusion jusqu'au résultat suivant (cellule pleine) où il ne se passerait rien puis à nouveau, dès qu'il trouverait une cellule vide, il faudrait la fusionner avec celle du dessus.

J'ai également un problème, je ne sais pas à quel moment arreter mon code, vu qu'on ne peut pas lui demander d'arreter dès qu'il rencontre une case vide comme j'ai l'habitude de faire. Ce code est amené à etre utilisé sur plusieurs fichiers différents donc je ne peux pas en prévoir la longueur.

Merci d'avance de vos réponses, j'essaie depuis tout à l'heure mais rien n'y fait !

4 réponses

@¿@ Messages postés 48 Date d'inscription samedi 5 janvier 2008 Statut Membre Dernière intervention 23 mai 2009 6
17 janv. 2008 à 18:50
as tu une cellule dans une autre colonne qui pourrait indiquer la fin du fichier a traiter ?
tu peux faire un truc soit en te positionnant sur la cellule, soit sans (c est plus rapide)
peux tu dire s il y a au moins 1 colonne qui peut servir de point d arret ou un nombre de lignes maxi ?
0
Iloon Messages postés 22 Date d'inscription mercredi 17 octobre 2007 Statut Membre Dernière intervention 29 mars 2008 2
18 janv. 2008 à 07:59
Bonjour,
Disons que la colonne que je veux fusionner et en colonne C, je peux me repérer avec les valeurs de la colonnes A qui sont toujours renseignées, donc si la cellule en colonne A est vide, le fichier est terminé.
Merci de ton aide !
0
@¿@ Messages postés 48 Date d'inscription samedi 5 janvier 2008 Statut Membre Dernière intervention 23 mai 2009 6
18 janv. 2008 à 09:09
Voici ma solution: elle n est pas tres ergonomique car j ai un peu jonglé avec ColA et ColC mais ca marche

Sub Macro1()
Dim x As Integer, y As Integer, valC As Variant
x = 1
y = 1
Do While Range("A" & x).Value <> ""
valC = Range("C" & y).Value
Do While valC = "" And Range("A" & y).Value <> ""
y = y + 1
valC = Range("C" & y).Value
Loop
If x < y Then
Range("C" & x - 1 & ":C" & y - 1).Merge
Else
y = y + 1
End If
x = y

Loop
End Sub


bonne suite, @+
0
Iloon Messages postés 22 Date d'inscription mercredi 17 octobre 2007 Statut Membre Dernière intervention 29 mars 2008 2
18 janv. 2008 à 09:30
Merci beaucoup, ça fonctionne correctement, au début ça ne marchait pas, mais c'est parce que mes cellules en colonne A étaient fusionnées donc elles étaient considérées comme vide !
Merci de ton aide précieuse, bonne continuation :)
0