IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Excel Discussion :

fusionner des cellules excel ayant la même valeur Java


Sujet :

Excel

  1. #1
    Membre à l'essai
    Femme Profil pro
    Étudiant
    Inscrit en
    Décembre 2012
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2012
    Messages : 18
    Points : 17
    Points
    17
    Par défaut fusionner des cellules excel ayant la même valeur Java
    J'ai généré un document excel en utilisant l'API POI et le langage Java.
    et comme il est clair dans l'image ci-dessous, la première colonne "D'Ordre" contient plusieurs cellules de même valeur.

    Nom : pic6.PNG
Affichages : 1060
Taille : 33,8 Ko

    Alors j'aimerais fusionner toutes les cellules ayant la même valeur pour devenir comme dans l'image dessous

    Nom : pic7.PNG
Affichages : 887
Taille : 33,1 Ko

    j'ai essayé quelques lignes de code mais ça ne donne rien

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    			     for (i=3; i<= (sheet1.getPhysicalNumberOfRows()) ; i++) {
     
     
    			    	 Cell cell = sheet1.getRow(i).getCell(0);
    			    if (sheet1.getRow(i).getCell(0).toString().equals( sheet1.getRow(i+1).getCell(0).toString()))
    			    {
    			    	System.out.println(sheet1.getRow(i).getCell(0).toString());
    			    	System.out.println(sheet1.getRow(i+1).getCell(0).toString());
     
    			    	  CellRangeAddress cellRangeAddress = new CellRangeAddress(i,i+1,0,0);
    					   sheet1.addMergedRegion(cellRangeAddress);
     
    			    }
     
     
    			     }
    			    }
    			     }
    Avec ce code j'arrive à ce résultat

    Nom : pic8.PNG
Affichages : 803
Taille : 10,3 Ko


    toute suggestion sera bien appréciée
    Images attachées Images attachées  

  2. #2
    Membre émérite
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Novembre 2011
    Messages
    1 503
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Irlande

    Informations professionnelles :
    Activité : Chef de projet en SSII

    Informations forums :
    Inscription : Novembre 2011
    Messages : 1 503
    Points : 2 657
    Points
    2 657
    Par défaut
    Bonjour Marocaine2012,

    Voici un code qui permet de merger les cellules d'une colonne A qui sont identiques.

    N'hésite pas à revenir vers moi !
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    Sub merge_cell()
    Dim oRng As Range
    Dim k As Integer, j As Integer
     
    With Worksheets("Feuil2")
        Set oRng = .Range("A1")
     
        j = 1
        Do While .Cells(j, 1) <> ""
            k = 0
            Do While oRng.Offset(k + 1, 0) = oRng.Offset(k, 0)
                k = k + 1
            Loop
            Application.DisplayAlerts = False
            .Range(oRng, oRng.Offset(k, 0)).Merge
            Application.DisplayAlerts = True
            j = j + k + 1
            Set oRng = .Cells(j, 1)
        Loop
     
    End With
     
    End Sub
    Il y a surement plus simple, mais je n'ai pas trouvé.

    Cordialement,
    Kimy
    La logique :
    • Plus ya de gruyère, moins ya de gruyère.
    • Plus tu pédales moins vite, moins tu avances plus vite.
    Plusoyer les réponses pertinentes et n'oublier pas de résolver en fin de post !

  3. #3
    Expert éminent sénior Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Points : 32 866
    Points
    32 866
    Par défaut
    Tu peux aussi passer par un tableau croisé dynamique qui fera ça tout seul.
    Merci de cliquer sur pour chaque message ayant aidé puis sur pour clore cette discussion.

  4. #4
    Membre à l'essai
    Femme Profil pro
    Étudiant
    Inscrit en
    Décembre 2012
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2012
    Messages : 18
    Points : 17
    Points
    17
    Par défaut usionner des cellules excel ayant la même valeur Java
    Merci pour vos réponses,

    @ Kimy_Ire ce code est en VB alors je travaille en Java, mais quand même j’essaierai de le convertir
    @Menhir pourrais tu me donner plus d'explication

  5. #5
    Membre à l'essai
    Femme Profil pro
    Étudiant
    Inscrit en
    Décembre 2012
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2012
    Messages : 18
    Points : 17
    Points
    17
    Par défaut
    Bonjour Kimy_Ire,

    J'ai essayé d'exécuter le code que vous m'avez décrit là dessus, mais je ça ne change rien, les cellules ne sont toujours pas fusionnées

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     while(!(sheet1.getRow(m).getCell(0).toString()).equals("")) 
    					  {
    						  int k =0;
     
    						  while(sheet1.getRow(k+1).getCell(0).toString().equals( sheet1.getRow(k).getCell(0).toString()))
    						  {
    							  k = k + 1;
    						  }
     
    						  CellRangeAddress cellRangeAddress = new CellRangeAddress(k,k+1,0,0);
    						   sheet1.addMergedRegion(cellRangeAddress);
    						   m = m+k+1;
    						   System.out.println(sheet1.getRow(m).getCell(0).toString()); 
    					  }

  6. #6
    Membre émérite
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Novembre 2011
    Messages
    1 503
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Irlande

    Informations professionnelles :
    Activité : Chef de projet en SSII

    Informations forums :
    Inscription : Novembre 2011
    Messages : 1 503
    Points : 2 657
    Points
    2 657
    Par défaut
    Marocaine2012,

    Sans le vouloir, le code que je t'ai fourni vient de me servir dans un de mes projets.
    Je peux t'assurer qu'il fonctionne très bien.
    Il merge les cellules identiques de la colonne A.

    Java, je connais moyen... Ici, c'est le forum Excel (et pas VBA, en plus).

    Afin de répondre à ton besoin, je te propose de poster un commentaire au bon endroit.

    Cordialement,
    Kimy
    La logique :
    • Plus ya de gruyère, moins ya de gruyère.
    • Plus tu pédales moins vite, moins tu avances plus vite.
    Plusoyer les réponses pertinentes et n'oublier pas de résolver en fin de post !

  7. #7
    Expert éminent sénior Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Points : 32 866
    Points
    32 866
    Par défaut
    Citation Envoyé par Marocaine2012 Voir le message
    @Menhir pourrais tu me donner plus d'explication
    http://silkyroad.developpez.com/excel/tcd/
    Merci de cliquer sur pour chaque message ayant aidé puis sur pour clore cette discussion.

  8. #8
    Membre à l'essai
    Femme Profil pro
    Étudiant
    Inscrit en
    Décembre 2012
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2012
    Messages : 18
    Points : 17
    Points
    17
    Par défaut
    Merci Menhir pour ce tuto,
    Mais moi je veux passer par la voix de la programmation, car ça rentre dans une application web

  9. #9
    Expert éminent sénior Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Points : 32 866
    Points
    32 866
    Par défaut
    La création de TDC peut être codée en VBA, comme presque tout ce qui peut être réalisé manuellement.
    Merci de cliquer sur pour chaque message ayant aidé puis sur pour clore cette discussion.

  10. #10
    Membre émérite
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Novembre 2011
    Messages
    1 503
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Irlande

    Informations professionnelles :
    Activité : Chef de projet en SSII

    Informations forums :
    Inscription : Novembre 2011
    Messages : 1 503
    Points : 2 657
    Points
    2 657
    Par défaut
    Citation Envoyé par Menhir Voir le message
    La création de TDC peut être codée en VBA, comme presque tout ce qui peut être réalisé manuellement.
    Bonjour Menhir,

    Quel élément réalisé manuellement sur Excel ne peut être codé en VB ?

    Cordialement,
    Kimy
    La logique :
    • Plus ya de gruyère, moins ya de gruyère.
    • Plus tu pédales moins vite, moins tu avances plus vite.
    Plusoyer les réponses pertinentes et n'oublier pas de résolver en fin de post !

Discussions similaires

  1. Réponses: 4
    Dernier message: 13/06/2011, 17h41
  2. Réponses: 3
    Dernier message: 11/05/2009, 14h31
  3. poi excel : fusionner des cellules
    Par don'de dans le forum Documents
    Réponses: 1
    Dernier message: 07/03/2007, 16h04
  4. Php et Excel - Fusionner des cellules
    Par krolineeee dans le forum Langage
    Réponses: 1
    Dernier message: 08/08/2006, 10h37
  5. [] [Excel] Fusionner des cellules
    Par SamyD dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 13/12/2002, 18h37

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo