Déplacer une partie d'une colonne

amiel

XLDnaute Nouveau
Bonjour à tous

Voilà je cherche en VBA comment je peux déplacer une partie d'une colonne pour la faire descendre une cellule en dessous.

ex :

A1 = 1
A2 = 2
A3 = 4
A4 = 5
A5 = 6

Dans mon code je récupère 3. et je voudrais faire

A1 = 1
A2 = 2
A3 = 3
A4 = 4
A5 = 5
A6 = 6

donc mettre une donnée dans une cellule et descendre le reste des donnée.

Merci à tous et aux réponses que vous pourriez apporter à se problème.
 

Efgé

XLDnaute Barbatruc
Re : Déplacer une partie d'une colonne

Bonjour amiel,
Une proposition, mais je pense que le problème est plus complexe que la demande...
Code:
[COLOR=blue]Sub[/COLOR] Insertion()
Var = InputBox("Saisir la variable")
[COLOR=blue]With[/COLOR] Sheets("Feuil1")
    [COLOR=blue]For[/COLOR] i = 1 [COLOR=blue]To[/COLOR] .Range("A" & Application.Rows.Count).End(xlUp).Row
        [COLOR=blue]If[/COLOR] .Cells(i, 1) = Var - 1 [COLOR=blue]Then[/COLOR]
            .Cells(i + 1, 1).Insert Shift:=xlDown
            .Cells(i + 1, 1) = Var
        [COLOR=blue]End If[/COLOR]
    [COLOR=blue]Next[/COLOR] i
[COLOR=blue]End With[/COLOR]
[COLOR=blue]End Sub[/COLOR]
Cordialement
 

Cousinhub

XLDnaute Barbatruc
Re : Déplacer une partie d'une colonne

Bonjour,

Bonjour, EFG :)

Autre solution, sans boucle :

Code:
Sub Insertion2()
Dim Var As Double
Dim Lig As Long
Var = InputBox("Saisir la variable")
With Sheets("Feuil1")
    Lig = Application.Match(Var, Columns(1), 1) + 1
    .Cells(Lig, 1).Insert Shift:=xlDown
    .Cells(Lig, 1) = Var
End With
End Sub

Bonne journée
 

amiel

XLDnaute Nouveau
Re : Déplacer une partie d'une colonne

RE,

Oui je ne pensais pas que le code serait aussi complexe (je ne suis qu'un petit codeur de rien du tout)


Code:
If X(a) > 0 Then
    
        If (E(0) < 2) Then
            
            If (Cells(C, 11) <> Cells(C - 1, 11)) Then
            
            Cells(C, 11) = Cells(N, 3)
            Cells(C, 12) = X(a)
            X(a) = X(a) - 1
            
            Else
            
            Colonne = Int(C / 3)
            ICI LE CODE POUR INSERER Cells(N, 3) dans Cells(Colonne,11) 
            X(a) = X(a) - 11
            
            End If
                   
        Else
        
        
        End If
   
   
   Else
   
    ActionTotal = ActionTotal + 1
    C = C - 1
       
   End If

En espérant cela plus compréhensible pour toi
 

Efgé

XLDnaute Barbatruc
Re : Déplacer une partie d'une colonne

Re amiel, Bonjour bhbh :),
amiel, il serait plus simple d'envoyer un petit exemple, avec tout le code et quelques données. On ne pourra pas faire grand chose avec des bribes de codes.
A moins que Bhbh n'ai une boule de cristal, de mon coté les rûnes magiques du chaman ne trouvent rien :D
Cordialement
 

amiel

XLDnaute Nouveau
Re : Déplacer une partie d'une colonne

RE

Bien j'envois le code complet.

Il y a pas mal de commentaire mais je n'ai pas mis l'algorithme au début.

Le principe est assez simple : mettre dans la colonne K l'ordre de mes Noms en fonction de deux variables.

Je suis rendu dans le cas où si un Nom apparait dans dans la cellule du dessus il faut qu'il soit mit en milieu de colonne K mais sans écrasé le Nom qui y est déja. en espérant que cela vous aide. (ne faite pas attention au bouton).
 

Pièces jointes

  • rap ref V4.zip
    30.2 KB · Affichages: 25

Efgé

XLDnaute Barbatruc
Re : Déplacer une partie d'une colonne

...Oui je ne pensais pas que le code serait aussi complexe (je ne suis qu'un petit codeur de rien du tout)...
:eek:.
Alors là, les triples tableaux VBA en double boucle piquée, dépassent et de loins mes connaissances. Je vais regarder comment ça marche et lorsque j'aurai compris, d'ici deux ou trois heures (jours, mois ?) je reviendrai.

Plus sérieusement je ne peux pas adapter ce code.Mais je suis certain que d'autres en seront capables.
Désolé.
Cordialement
 

amiel

XLDnaute Nouveau
Re : Déplacer une partie d'une colonne

RE,

Ce n'est pas grave Efgé, ceci est un code personnel et evidemment la pluparts des personnes du forum pose des questions XL pour du professionnel, merci quand même d'avoir essayer (c'est mieux que rien). Si quelqu'un à une idée ou besoin de précision n'hésitez pas.

Merci d'avance
 

Efgé

XLDnaute Barbatruc
Re : Déplacer une partie d'une colonne

Re
Bon je fais quand même une proposition:
Il faut limité l'action de la macro evennementielle à une plage de cellule(J'ai pris C3:H24) et utiliser la version de Bhbh qui sera plus rapide que ma boucle.
Je ne sait pas si le résultat correspond à la demande n'ayant pas compris l'utilisation de cette feuille.
Après je ne sais plus.
Bon courage
Cordialement
 

Pièces jointes

  • rap ref V4(2).zip
    23.1 KB · Affichages: 22

Discussions similaires

  • Résolu(e)
Microsoft 365 Formule SI
Réponses
8
Affichages
226

Membres actuellement en ligne

Aucun membre en ligne actuellement.

Statistiques des forums

Discussions
312 493
Messages
2 088 956
Membres
103 990
dernier inscrit
lamiadebz