Fusionner automatiquement des cellules selon condition

Résolu/Fermé
nonossov Messages postés 611 Date d'inscription lundi 29 décembre 2014 Statut Membre Dernière intervention 17 janvier 2020 - 16 mars 2015 à 11:10
nonossov Messages postés 611 Date d'inscription lundi 29 décembre 2014 Statut Membre Dernière intervention 17 janvier 2020 - 16 mars 2015 à 16:10
Bonjour,
j'ai ci-jointe un fichier excel pour expliquer la macro,
j'ai essayé de fusionné deux colonne F et G selon condition de valeur, mais j'ai pas encore réussi, la macro demande que : dans le colonne E: si F contient le zéro on met "D" dans le E et si G contient le zéro en met "C" et on fusionne F et G,
Merci Beaucoup sur votre aide en avance

www.cjoint.com/data/0CqlmyAFJ6I.htm

A voir également:

2 réponses

f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 701
16 mars 2015 à 11:42
Bonjoir,

code pour un bouton de lancement (pas precise dans la demande comment lancer le code):
Sub Bouton1_Cliquer()
    With Worksheets("feuil1")
        derlig = .Range("A" & Rows.Count).End(xlUp).Row
        For x = 1 To derlig
            If .Range("F" & x) = 0 And .Range("G" & x) > 0 Then
                .Range("F" & x) = ""
                .Range("E" & x) = .Range("D" & x)
                With .Range("F" & x & ":G" & x)
                    .HorizontalAlignment = xlCenter
                    .Merge
                End With
            ElseIf .Range("F" & x) > 0 And .Range("G" & x) = 0 Then
                .Range("G" & x) = ""
                .Range("E" & x) = .Range("C" & x)
                With .Range("F" & x & ":G" & x)
                    .HorizontalAlignment = xlCenter
                    .Merge
                End With
            Else
            End If
        Next x
    End With
End Sub
1
nonossov Messages postés 611 Date d'inscription lundi 29 décembre 2014 Statut Membre Dernière intervention 17 janvier 2020
Modifié par nonossov le 16/03/2015 à 12:04
j'ai pas obtenu la résultat souhaité,
j'ai pas bien expliqué, dzl
je veux que les colonnes F et G seront un seul colonne,
essayer le code sur le fichier ci-jointe
www.cjoint.com/data/0CqlmyAFJ6I.htm


Merci infiniment
0
f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 701 > nonossov Messages postés 611 Date d'inscription lundi 29 décembre 2014 Statut Membre Dernière intervention 17 janvier 2020
Modifié par f894009 le 16/03/2015 à 13:19
Re,
C'est avec votre fichier que j'ai ecrit le code: https://www.cjoint.com/c/ECqnCy7Rty4

je veux que les colonnes F et G seront un seul colonne, Fusionne, ca veut dire quoi pour vous ??????
0
nonossov Messages postés 611 Date d'inscription lundi 29 décembre 2014 Statut Membre Dernière intervention 17 janvier 2020
16 mars 2015 à 13:28
Oui la fusionne est faite mais il reste le colonne E qui ne contient pas les "D" et "C"
voila la résultat souhaité pour bien compris
https://www.cjoint.com/c/ECqnHCUKGZV
merci Beaucoup
0
f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 701 > nonossov Messages postés 611 Date d'inscription lundi 29 décembre 2014 Statut Membre Dernière intervention 17 janvier 2020
16 mars 2015 à 13:31
Re,

J'avais compris qu'il fallait mettre le contenu des cellules C ou D.
Je rectifie

A+
0
f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 701
16 mars 2015 à 13:38
Re,

demande de depart: F=0 E="D", G=0 E="C"

Sub Bouton1_Cliquer()
    With Worksheets("feuil1")
        derlig = .Range("A" & Rows.Count).End(xlUp).Row
        For x = 1 To derlig
            If .Range("F" & x) = 0 And .Range("G" & x) > 0 Then
                .Range("F" & x) = ""
                .Range("E" & x) = "D"
                With .Range("F" & x & ":G" & x)
                    .HorizontalAlignment = xlCenter
                    .Merge
                End With
            ElseIf .Range("F" & x) > 0 And .Range("G" & x) = 0 Then
                .Range("G" & x) = ""
                .Range("E" & x) = "C"
                With .Range("F" & x & ":G" & x)
                    .HorizontalAlignment = xlCenter
                    .Merge
                End With
            Else
            End If
        Next x
    End With
End Sub
1
nonossov Messages postés 611 Date d'inscription lundi 29 décembre 2014 Statut Membre Dernière intervention 17 janvier 2020
16 mars 2015 à 13:49
Vous Etes Génial Mr, Très bon travail, juste une petit remarque,
quant la fusionne se fait il garde le colonne G qui'est vide et je dois le supprimer manuellement si vous pouvez le corriger sera trés magnifique sinon,
je suis très satisfait de votre travail Mr beaucoup,
0
f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 701 > nonossov Messages postés 611 Date d'inscription lundi 29 décembre 2014 Statut Membre Dernière intervention 17 janvier 2020
16 mars 2015 à 15:49
Re,

attention, ca ne marche qu'une fois

Sub Bouton1_Cliquer()
    With Worksheets("feuil1")
        derlig = .Range("A" & Rows.Count).End(xlUp).Row
        For x = 1 To derlig
            If .Range("F" & x) = 0 And .Range("G" & x) > 0 Then
                .Range("F" & x) = .Range("G" & x)
                .Range("E" & x) = "D"
            ElseIf .Range("F" & x) > 0 And .Range("G" & x) = 0 Then
                .Range("E" & x) = "C"
            Else
            End If
        Next x
        .Columns("G:G").Delete Shift:=xlToLeft
    End With
End Sub
0
nonossov Messages postés 611 Date d'inscription lundi 29 décembre 2014 Statut Membre Dernière intervention 17 janvier 2020
16 mars 2015 à 16:10
Merci Merci Merci infiniment
0