Regrouper information sur même ligne excel

Résolu
avyrex1926 Messages postés 360 Date d'inscription dimanche 3 décembre 2006 Statut Membre Dernière intervention 3 janvier 2012 - 24 nov. 2007 à 22:20
avyrex1926 Messages postés 360 Date d'inscription dimanche 3 décembre 2006 Statut Membre Dernière intervention 3 janvier 2012 - 25 nov. 2007 à 02:02
Bonjour,

Dans mon fichier excel, à partir le la ligne 6, dans la colone A, se trouve le prenom de la personne.
Dans la colone B, se trouve le nom de la personne.
La ou se trouve mon problème, ex: dans la cellule A6 Jean.  Dans la cellule B6 Tremblay.                                                      Dans la cellule A7 Vide.  Dans la cellule A7 France.

Je voudrais faire en sorte qu'en cliquant sur un bouton vba, que le pays dans la cellule A7 comme dans l'exemple ci-haut, se transfert dans la colone C donc dans la cellule C6 sur la même ligne que son nom et prenom et ensuite suprimmer  la ligne 7 qui est maintenant vide.

De plus, il dois faire une boucle jusqu'â temp qu'il n'y a plus de données dans la colone B car la liste est longue comme l'exemple ci-haut. J'ai une longue liste de nom et prénom avec le pays dans ce fichier excel.

Comment faire svp?

merci pour votre aide! 

3 réponses

cs_MPi Messages postés 3877 Date d'inscription mardi 19 mars 2002 Statut Membre Dernière intervention 17 août 2018 23
25 nov. 2007 à 01:56
Essaie comme ceci.
J'efface aussi la ligne qui ne sert plus. À toi de voir si c'est nécessaire

    Dim I As Long, nbLignes As Long
   
    nbLignes = Cells(Rows.Count, "B").End(xlUp).Row
   
    For I = nbLignes To 2 Step -1
        If Range("A" & I) = "" And Range("B" & I) <> "" Then
            Range("C" & I - 1) = Range("B" & I)
            Rows(I).Delete
        End If
    Next

MPi²
3
avyrex1926 Messages postés 360 Date d'inscription dimanche 3 décembre 2006 Statut Membre Dernière intervention 3 janvier 2012 3
24 nov. 2007 à 22:54
J'ai essayé cette façon mais il ne change que le dernier:

Private Sub reunir_Click()
Dim Ligne As Long

For K = 1 To 1000
Ligne = (Range("B56000").End(xlUp).Row - 1)
    If Range("A" & Ligne + 1) = VBNulstring Then
    Range("C" & Ligne) = Range("B" & Ligne + 1)

  End If
Next K

 End Sub
0
avyrex1926 Messages postés 360 Date d'inscription dimanche 3 décembre 2006 Statut Membre Dernière intervention 3 janvier 2012 3
25 nov. 2007 à 02:02
Merci beaucoup , ça fonctionne nickel 
0
Rejoignez-nous