Fusion de cellules sous vb avec excel

Résolu
Iloon Messages postés 22 Date d'inscription   Statut Membre Dernière intervention   -  
Iloon Messages postés 22 Date d'inscription   Statut Membre Dernière intervention   -
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 !
A voir également:

4 réponses

@¿@ Messages postés 48 Date d'inscription   Statut Membre Dernière intervention   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 ?
0
Iloon Messages postés 22 Date d'inscription   Statut Membre Dernière intervention   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 !
0
@¿@ Messages postés 48 Date d'inscription   Statut Membre Dernière intervention   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, @+
0
Iloon Messages postés 22 Date d'inscription   Statut Membre Dernière intervention   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 :)
0