bonjour
cette source permet d'inverser les éléments des cellules d'une colone sur excel.
exemple : cell1:salut cell2:oui cell3:avec cell4: sortie
resultat---->>>
cell1:sortie
cell2:avec
cell3:oui
cell4:salut
le mieux c'est de créer un bouton personalisé et de lui attribuer la macro, comme ça vous séléctionnez votre colone et vous cliquez sur votre bouton.(aller dans affichage-->barres d'outils-->personnaliser...)
Source / Exemple :
Sub Inverse()
Dim derniereCellule As Variant
Dim premiereCellule As Variant
Dim temp As Variant
Dim i As Integer
Dim numeroPremiereCellule As Variant
Dim numeroDerniereCellule As Variant
Dim difference As Integer
Dim valeurCellule As Variant
Dim coloneSelectionne As Variant
coloneSelectionne = ActiveWindow.RangeSelection.Address
temp = Split(coloneSelectionne, ":")
premiereCellule = temp(0)
derniereCellule = temp(UBound(temp))
'sert à recuperer l'indice de la ligne des cellules
numeroPremiereCellule = Split(premiereCellule, "$")
numeroDerniereCellule = Split(derniereCellule, "$")
'calcule le nombre de cellules de la colone
difference = (numeroDerniereCellule(2) - numeroPremiereCellule(2) + 1)
Range(premiereCellule, premiereCellule).Select
' Déclare un tableau dynamique.
Dim valeurColone() As Variant
ReDim valeurColone(difference) 'aloue une taille au tableau
i = 0
While i <> difference
valeurCellule = ActiveCell.Offset(i, 0).Value
' Initialise le tableau avec
'les valeur de chaque cellule de la selection
valeurColone(i) = valeurCellule
i = i + 1
Wend
Dim j As Integer
j = 0
'je place dans la colone selectionnée
'les valeurs du tableau valeurColone en partant de la fin.
For i = UBound(valeurColone) - 1 To 0 Step -1
ActiveCell.Offset(j, 0).Select
ActiveCell.Value = valeurColone(i)
j = 1
Next i
End Sub
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.