Insérer une ligne à droite de la cellule active idem colonne

Bonsoir je reviens vers vous pour mon problème il faut que j’insère une ligne en dessous de la cellule active avec la formule en colonne T et efface le référence en B mon code marche mais colle les données au dessus je ne trouve pas la solution, ensuite la même chose dans la feuille Total j’arrive à copier la colonne active mais pas l’insérer à droite et que les formules. Merci d'avance passer quatre heures à la recherche de code

Sub Ligne()

Range(ActiveCell, ActiveCell.Offset(0, 18)).Select
    Selection.Copy
    Selection.Insert Shift:=xlDown
    Application.CutCopyMode = False

Range(ActiveCell, ActiveCell.Offset(0, 1)).Select
    Selection.ClearContents

End Sub
Sub Colonne_Formules()

Range(ActiveCell, ActiveCell.Offset(312, 0)).Select
    Selection.Copy
    Selection.Insert Shift:=xlDown
    Application.CutCopyMode = False
Range(ActiveCell, ActiveCell.Offset(312, 0)).Select
    Selection.ClearContents

End Sub
38essai00002.rar (234.59 Ko)

Bonjour,

Essaye comme ça :

Sub Ligne()
    Range(ActiveCell, ActiveCell.Offset(0, 18)).Copy
    ActiveCell.Offset(1).Select
    Selection.Insert Shift:=xlDown
    Application.CutCopyMode = False
    Range(ActiveCell, ActiveCell.Offset(0, 1)).ClearContents
End Sub

Bonjour et merci Raja ok pour insérer ligne, et pour colonne sur la feuille " Total " je ne trouve pas de code j'arrive a sélectionné la colonne la copier mais pas à l'insérer à droite de la colonne.

En fait je veux insérer une ligne et une colonne au même endroit pour les deux feuilles pour insérer un nouvelle outil, la première Feuille " Référence " me serre à la saisie et la feuille " Total " me serre à la sauvegarde pour l’année en cour et j’ai d'autre feuille lier. merci

Re,

Je n'arrive pas vraiment cerner ton besoin. Essaye le code suivant qui réunit tes 2 codes :

Sub Insertion()
    Sheets("Référence").Activate
    Ligne = ActiveCell.Row
    Sheets("Référence").Range(ActiveCell.Offset(1, 1), ActiveCell.Offset(1, 18)).EntireRow.Insert
    ActiveCell.Copy Destination:=Cells(Ligne + 1, 2)
    Sheets("Total").Columns(Ligne + 1).EntireColumn.Insert
    Sheets("Total").Columns(Ligne).Copy Destination:=Sheets("Total").Cells(1, Ligne + 1)
    Sheets("Total").Cells(1, Ligne + 1).Formula = Sheets("Total").Cells(1, Ligne)
    Application.CutCopyMode = False
End Sub

Reviens vers nous avec plus de précisions, des exemples concrets, si tu n'est pas satisfait(e).

Bonsoir Raja en fait je veux insérer un outil exemple Z000 519 981 261 donc il faut l’insérer en dessous du numéro Z000 519 980 261, et il faut faire pareil dans la feuille Total j’espère que je suis assez clair

A et le numéro outil c’est toujours Z000 000 000 ou P000 000 000 suivie de 3 chiffres qui représente l’atelier qui sont dans l’ordre croissant et merci pour le temps passer sur mon problème

Re,

dis-moi si la macro que j'ai envoyée par mon précédent marche ou ne marche pas.

As-tu la testé ?

Bonsoir Raja pour la ligne sur la feuille Référence avec se code c'et ok mais pas la colonne sur la feuille Total

Sub Lig()
    Range(ActiveCell, ActiveCell.Offset(0, 18)).Copy
    ActiveCell.Offset(1).Select
    Selection.Insert Shift:=xlDown
    Application.CutCopyMode = False
    Range(ActiveCell, ActiveCell.Offset(0, 1)).ClearContents

End Sub

Re,

J'ai demandé d'essayer mon nouveau code envoyé avec mon 2è message qui fait la ligne et la colonne. Tu me renvoies le code qui a été envoyé le premier. Il va falloir être plus précis si tu veux obtenir un résultat précis et rapide.

Bonjour Raja le code ne marche pas erreur de compilation Fonction ou variable attendue à la ligne Ligne = ActiveCell.Row

Ce que j’essaye de faire c’est insérer une nouvelle référence, mais il faut qu’elle se trouve dans les deux feuille au même endroit car je copie l’envoie des outils tous les jours pour chaque référence qui serre après pour la facturation des outils et par atelier merci pour le temps passer sur mon problème Raja

Re,

Dans ce cas, envoi le fichier sur lequel on peux tester. Car pour le moment je n'arrive pas faire le test avec le fichier que tu as joint à ton premier message.

Ok Raja voila le fichier la macro et sur le bouton "essai" merci


Ok Raja voila le fichier la macro et sur le bouton "essai" merci

22essai00003.rar (235.34 Ko)
13essai00003.rar (235.34 Ko)

Re,

Il est où l'onglet suivant dans ton fichier :

ActiveWorkbook.Sheets("Parametres_Bandeau")

car j'ai une erreur quand je testes.

Oui c'est une macro installer à l'usine pour mettre à jour des onglets avec entête, mon programme et trop gros 4.58 Mo alors j'ai supprimé le maxi onglet pour ne pas dépasser les 300 ko et il y a 160 référence je n'en nais laisser qu'une trentaine pour les essais

Tu peux supprimer toute les macro qui sont inutile, je recopie sur mon fichier les macros merci encore.

Re,

Je te retourne ton fichier en supprimant quelques modules macros qui gênaient le fonctionnement. La prochaine fois il nous faudra un fichier propre pour le test c'est à dire un fichier exploitable au test.

La macro qui s'appelle insertion fait la chose suivante :

  • insère une ligne en dessous de la ligne active dans l'onglet "Référence"
  • reprend la même ligne et transpose dans l'onglet "Total" dans le bon ordre.

Pour info, j'ai modifié les formules de l'entête du table de l'onglet "Total" pour une mise à jour des entêtes explicites.

19essai00003.zip (254.10 Ko)

Bonsoir Raja merci pour le temps passer j'ai essayé la macro sa me copie bien une ligne et une colonne au bon endroit, mais j'ai des lignes de la feuille total qui s'écrive sur la feuille Référence je te renvoie le fichier j'ai effacer les macros inutile.

Tu peux m'expliquer la formule " =INDIRECT("Référence!B"&COLONNE()+1) "

17essai00004.rar (211.74 Ko)

Re,

Veux-tu avoir l'insertion des lignes et colonnes vides ou remplies ? Précise bien ce que tu veux réellement.

En ce qui concerne, la formule INDIRECT c'est la façon indirecte de faire référence à une autre cellule. Je l'ai utilisée pour faire l'incrémentation automatique des cellules de la feuille "Référence". Exemple => dans la cellule B3 de la feuille "Total" :

la formule classique pour faire référence à une autre cellule :

=Référence!B4

la formule indirecte incluant une partie constante au format texte ("Référence!B") et une partie dynamique (COLUMN()+1) :

=INDIRECT("Référence!B"&COLUMN()+1)

la formule "COLUMN()" pour faire référence à la colonne active où se trouve la formule

le chiffre 1 pour ajuster l'écart entre l'indice de la ligne source et de la colonne d'arrivée, car la source se trouve à la 4ème ligne et la destination se trouve en 3ème colonne.

ce qui donne le même résultat et surtout cela nous permet de copier la formule sur les autres cellules de la ligne avec une incrémentation automatique.

Bonjour Raja je voudrais avoir l'insertion des lignes et colonnes vides avec juste les formules dans la feuille Total et formule ligne T dans feuille Référence merci d'avance Raja

Bonjour,

Essaye ce code :

Sub Insertion()
    Ligne = ActiveCell.Row
    Sheets("Référence").Rows(Ligne).Copy
    Rows(Ligne + 1).Insert Shift:=xlDown
    Sheets("Référence").Cells(Ligne + 1, 2).ClearContents
    Sheets("Total").Columns(Ligne).Copy
    Columns(Ligne + 1).Insert Shift:=xlToRight
    Sheets("Total").Cells(1, Ligne).ClearContents
    Application.CutCopyMode = False
End Sub

Bonsoir Raja sa marche, mais dans la feuille " Total " il me faut que les calcul des cellules semaines merci

Bonjour,

Merci de tester ce code :

Sub Insertion()
    Ligne = ActiveCell.Row 'recupère le numéro ligne de la cellule active
     Colonne = Ligne
    Sheets("Référence").Rows(Ligne).Copy
    Rows(Ligne + 1).Insert Shift:=xlUp
    derCol = Sheets("Référence").Cells(4, Columns.Count).End(xlToLeft).Column + 1
    For i = 2 To derCol
        If Not Sheets("Référence").Cells(Ligne + 1, i).HasFormula Then
            Sheets("Référence").Cells(Ligne + 1, i).ClearContents
        End If
    Next i
    Sheets("Total").Columns(Colonne).Copy
    Columns(Colonne + 1).Insert Shift:=xlToRight
    derLig = Sheets("Total").Range("A" & Rows.Count).End(xlUp).Row + 1
    For i = 2 To derLig
        If Not Sheets("Total").Cells(i, Ligne).HasFormula Then
            Sheets("Total").Cells(i, Ligne).ClearContents
        End If
    Next i
    Application.CutCopyMode = False
End Sub
Rechercher des sujets similaires à "inserer ligne droite active idem colonne"