Création de boucle

Pouims Messages postés 3 Date d'inscription   Statut Membre Dernière intervention   -  
Iama Messages postés 319 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

Je suis toute nouvelle dans ce monde magique de la programmation. Après avoir lu "VBA pour les nuls" je souhaite me lacer dans un petit programme... Mais bien plus difficile que prévu!!
Voici mon problème (je vais essayer d'être claire mais c'est pas mon fort!):
J'ai un tableau à quatre colonnes. Je souhaite fusionner les cellules:

*de A si elles sont identiques
*de B si elles sont identiques et que celles de A aussi (donc fusionnées)
*de C si elles sont identiques et que celles de A et B aussi (donc fusionnées)
*de D si elles sont identiques et que celles de A , B et C aussi (donc fusionnées)

Pour le moment j'arrive à comparer deux cellules définies et à les fusionner mais je n'arrive pas à le faire en boucle jusqu'à la fin de mon tableau...

Pouvez vous me donner quelques pistes?

Merci
A voir également:

3 réponses

Iama Messages postés 319 Date d'inscription   Statut Membre Dernière intervention   14
 
Bonjour Pouims

Peux-tu nous poster ton code, c'est plus simple de voir ou tu bloque?

PS: Quand tu dis " fusionner les cellules" et si tu parle du format des cellules: C'est pour m'a part un formatage que j'évite, car je trouve qu'il génère trop de problèmes. je lui préfère " centrer sur plusieurs colonnes

cordialement
0
Pouims Messages postés 3 Date d'inscription   Statut Membre Dernière intervention  
 
Bonjour Iama,
Voici mon "petit" code... il ne compare que deux cellules d'une seule colonne et les fusionne si besoin.


Sub comparaison()
Range("D2").Select
Var = Worksheets("DU par Unité").Range("D2").Value
Var1 = ActiveCell.Offset(1, 0).Value
If Var = Var1 Then Range("D2", ActiveCell.Offset(1, 0)).merge Else: MsgBox "Pas Egal"
End Sub

Quand je parle de fusionner c'est pour rendre la lecture du document plus facile, la fusion se fait par colonne et non par ligne donc "centrer sur plusieurs colonnes ne fonctionne pas" et je ne sais pas faire autrement que fusionner sur les colonnes.

merci
0
Iama Messages postés 319 Date d'inscription   Statut Membre Dernière intervention   14
 
Bonjour Pouims

Voici un code, il ne traite qu'une colonne.
tu pourras voir un exemple de boucle.

En faire une autre boucle pour traiter plusieurs colonne.
Mais les fusions ne se font que sur les lignes.

Sub comparaisonb()
Dim i As Long, y As Long
Dim coL As Integer 'N° de colonne
Dim derL As Long  'derniére ligne
Dim vaR As Variant

coL = 4
Worksheets("DU par Unité").Activate
derL = Rows.Count
derL = Cells(derL, coL).End(xlUp).Row 'derniére ligne utilisée

For i = 1 To derL
vaR = Cells(i, coL).Value
  If vaR = Empty = False Then
      If vaR = Cells(i, coL).Offset(1, 0).Value Then
      
          For y = i To derL
          Cells(y, coL).Select ' test W
            If vaR <> Cells(y, coL).Value Then Exit For
          Next y
      
        'Range(Cells(i + 1, coL), Cells(i + 1, coL).Offset(y - i - 2, 0)).Select
        Range(Cells(i + 1, coL), Cells(i + 1, coL).Offset(y - i - 2, 0)) = Empty
        
        With Range(Cells(i, coL), Cells(i + 1, coL).Offset(y - i - 2, 0))
         .Merge
         .VerticalAlignment = xlCenter
        End With
      i = y - 1
      End If
  End If
Next i

End Sub



cordialement
Si tu as des questions..
0
pijaku Messages postés 12263 Date d'inscription   Statut Modérateur Dernière intervention   2 761
 
Bonjour,

Lorsque vous placez du code sur notre forum, merci d'utiliser les balises code à votre disposition.
Le mode d'emploi (au cas ou) est ICI.

Cordialement,
Pijaku
0
Iama Messages postés 319 Date d'inscription   Statut Membre Dernière intervention   14
 
Bonjour et merci pijaku

Je me demandais, comme faire pour rendre plus clair les codes.
J'ai fait la modif
Alain
0
pijaku Messages postés 12263 Date d'inscription   Statut Modérateur Dernière intervention   2 761
 
Oui, merci.
A savoir également : l'utilisation de la balise <code + langage> comporte actuellement un bug. Les utilisateurs de IE8 ne voient que la première ligne du code. Si tu rencontres ce cas, n'hésite pas à ajouter un commentaire avec ton code entre balises <code> simples.
Bonne journée et bonne continuation
0
Iama Messages postés 319 Date d'inscription   Statut Membre Dernière intervention   14
 
Excuse pijaku

Mais IE8 = ?
0
pijaku Messages postés 12263 Date d'inscription   Statut Modérateur Dernière intervention   2 761
 
Pardon... Internet Explorer 8
0