Fusion de cellules sous vb avec excel

[Résolu/Fermé]
Signaler
Messages postés
22
Date d'inscription
mercredi 17 octobre 2007
Statut
Membre
Dernière intervention
29 mars 2008
-
Messages postés
22
Date d'inscription
mercredi 17 octobre 2007
Statut
Membre
Dernière intervention
29 mars 2008
-
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
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 ?
Messages postés
22
Date d'inscription
mercredi 17 octobre 2007
Statut
Membre
Dernière intervention
29 mars 2008
2
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 !
Messages postés
48
Date d'inscription
samedi 5 janvier 2008
Statut
Membre
Dernière intervention
23 mai 2009
6
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, @+
Messages postés
22
Date d'inscription
mercredi 17 octobre 2007
Statut
Membre
Dernière intervention
29 mars 2008
2
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 :)