carlos33
Messages postés72Date d'inscriptionvendredi 25 avril 2008StatutMembreDernière intervention15 juin 2010
-
6 mai 2010 à 16:14
cs_zeps2
Messages postés61Date d'inscriptionvendredi 9 novembre 2007StatutMembreDernière intervention28 octobre 2011
-
7 mai 2010 à 15:07
Bonjour,
Sur Excel, dans une colonne, j'ai plusieurs valeurs dans chaque cellule. Exemple : en 1,1,1,cellule vide, 2,2,3,3,3,3,cellule vide.
Je veux obtenir dans la colonne 2 sur chaque ligne 1,2,3,etc... sans cellule vide ni doublon;
cs_zeps2
Messages postés61Date d'inscriptionvendredi 9 novembre 2007StatutMembreDernière intervention28 octobre 2011 7 mai 2010 à 15:07
Salut,
je ne suis pa un cador en VBA mais j'ai un code que j'avais bricolé il y qq tps.
Il te suffit de rajouter en code la copie de ta colonne A en B et tu travaille les doublons sur la B.
Sub suprDoub()
Macellule = InputBox("Veuillez saisir l'adresse de la 1ere cellule à comparer - Ne pas prendre l'entête de colonne") 'Récupère l'adresse de la cellule dans une variable MaCellule
Range(Macellule).Select 'Sélectionne la cellule indiquée
ActiveCell.CurrentRegion.Sort Key1:=Range(Macellule), Order1:=xlAscending, Header:=xlYes 'T rie le tableau sur cette celule
donnee1 = ActiveCell 'mémorise le contenu de la cellule en cours et l'affecte à donnee1
ActiveCell.Offset(1, 0).Select 'descend d'une ligne
While ActiveCell <> "" 'tant que la cellule n'est pas vide
If ActiveCell = donnee1 Then 'vérifie si le contenu de la cellule en cours est égal à donnee1
ActiveCell.Delete 'si oui, supprime la cellule
ActiveCell.Offset(-1, 0).Select 'remonte d'une ligne
donnee1 = ActiveCell 'mémorise à nouveau le contenu de la cellule
ActiveCell.Offset(1, 0).Select 'descend d'une ligne
Else
donnee1 = ActiveCell 'mémorise le contenu de la cellule en cours de la ligne suivante et l'affecte à donnee1
ActiveCell.Offset(1, 0).Select 'descend d'une ligne
End If
Wend
End sub