Modification macro pour insérer nombre de lignes souhaité

Bonjour BrunoM45,

effectivement j'ai du re-créer un post et non éditer (je n'avais pas vu cette fonction).

C'est noté pour la prochaine fois

Vous ne répondez pas à toutes mes questions notamment sur la valeur qui est trouvée en A1.

- exactement le nombre de n° de lot à "transférer" dans l'onglet prélèvement peut varier, d'où la nécessité de créer une macro permettant de basculer ces N° de lot et insérer le nombre de lignes adéquates à ces n°de lot inséré.

Donc votre demande ne concerne pas le code déjà en place ? Si je comprends il s'agit d'une demande qui n'a rien à voir avec la première.

Bonjour Dan,

effectivement cela concerne une deuxième macro, si possible quand on insère dans une autre onglet des n° de lot, en cliquant sur la macro, ces derniers sont transférés dans l'onglet 'Prélèvement'.

Merci

Bonjour

Merci des infos.
- Pour cette feuille, quel est le titre en colonne C ?
- Quel sera le nom de l'onglet ?
- aussi est-ce votre bon fichier ?

Désolé de toutes ces questions mais si vous utilisez VBA, un fichier bien préparé, évite de devoir refaire après.

Bonjour Dan,

pas de soucis je comprends,

voici les informations demandées:

  1. le titre de la colonne C sera N° de lot
  2. le nom de la feuille N° de lot
  3. et oui ce sera le bon fichier (il restera juste de la mise en forme à réaliser, il me semble que cela n'aura aucun impact sur le code VBA).

Merci

Ne mettez pas chaque fois un fichier, cela alourdit le forum inutilement et je dois transposer tout dans le fichier de travail. J'ai supprimé le fichier en modifiant le mien.

Je fais les corrections que vous me donnez.

Dans la feuille Prélèvement en colonne C
- on garde la valeur mentionnée en C4 ?
- Pouvez-vous expliquer l'étape 4 --> "idem 1/2/3 pour les CA". cela veut dire que si 13 valeurs il faut doubler ou mettre le CA en colonne F

Dan,

dans la feuille Prélèvements on ne change rien.

L'étape 4 dans la feuille N° de lot consiste à réaliser les mêmes étapes (1,2 et 3) si le n° de lot comprend l'info "CA". En gros il faudrait créer une colonne dans la feuille N° de lot en H3 par exemple "N° de lot CA".

J'espère que c'est clair.

Merci

En gros il faudrait créer une colonne dans la feuille N° de lot en H3 par exemple "N° de lot CA".

heu là je n'ai pas compris.
jusqu'à présent, je supposais que la colonne C dans la feuille n° de lot pouvait avoir deux indications soit PY soit CA
Ce que je dois savoir avec les infos de la colonne C de la feuille N° de lot, c'est ce qui à mettre en colonne F et H de la feuille prélèvement
Si je comprends le n° de lot peut comporte PY2 ou CA. Selon ce numéro :
- on met PY2 en colonne H
ou
- on met CA en colonne E et rien en colonne H
La colonne C de la feuille Prélèvement comporte toujours la valeur de C4 trouvé en feuille Prélèvement

Dan,

pour ne pas s'embrouiller on va oublier les CA de la feuille N° de lot. On va rester ces les N° de lot classique.

En gros, quand dans la feuille N° de lots dans la colonne C on insère des N° de lot (par exemple 20), je souhaite qu'une macro me les bascule dans l'onglet Prélèvements dans la colonne E et incrémente automatiquement les autres colonnes (il me semble que c'est déjà le cas avec la macro actuelle).

Et oui la colonne C de la feuille Prélèvement comporte toujours la valeur de C4 trouvé en feuille Prélèvement (on ne change rien à la feuille Prélèvements).

Le N° de lot comporte CA lorsque que l'on met CA dans la colonne F de la feuille prélèvement.

Mais pour l'instant on va fonctionner qu'avec l'info N° de lot de la feuille N°de lot et pas les CA.

Le N° de lot comporte CA lorsque que l'on met CA dans la colonne F de la feuille prélèvement.

Mais pour l'instant on va fonctionner qu'avec l'info N° de lot de la feuille N°de lot et pas les CA.

Ok. Mais autant le prévoir de suite pour adapter le code non ?

Le code est prêt si PY. Par contre vous ne confirmez pas qu'il faut PY2 en colonne H

Dan,

oui dsl il faut PY2 en colonne H ainsi que les informations suivantes qui s'incrémentent:

Code correct
/erreur
FromageCode AnalyseSemaine EnvoieMois EnvoieAnnée Envoie

Merci

Ok. Et pour ma question sur le CA ? On prévoit tout de même le code qui prend en charge les 2 ? (PY et CA ?)

Pour les CA sinon on a des n°de lot qui possèdent CA dans ce cas oui pour ces codes là.

Bonjour,

Essayez avec ce code (basé sur la structure du premier code) qui prend en compte le CA ou le PY listés en colonne C

Sub InsertionNumLot()
Application.ScreenUpdating = False
Dim i As Integer

With Feuil2
    '.Unprotect
    For i = 4 To Feuil3.Range("C" & Rows.Count).End(xlUp).Row
        .Rows("14:14").Insert Shift:=xlDown
        Select Case UCase(Mid(Feuil3.Range("C" & i), 1, 2))
            Case Is = "PY"
                .Range("H14") = Mid(Feuil3.Range("C" & i), 1, 3) 'code site
            Case Is = "CA"
                .Range("F14") = Mid(Feuil3.Range("C" & i), 1, 2) 'code site
        End Select
        .Range("E14") = Mid(Feuil3.Range("C" & i), 4, Len(Feuil3.Range("C" & i))) 'lot numero
        .Range("A14") = WorksheetFunction.Max(.Range("A14:A" & .Range("A" & Rows.Count).End(xlUp).Row)) + 1 'Increment N°
        .Range("C14") = .Range("C4").Value
        .Range("D14") = Format(Now, "dd/mm/yyyy")
        .Range("B15").AutoFill Destination:=.Range("B14:B15"), Type:=xlFillDefault
        .Range("I15:N15").AutoFill Destination:=.Range("I14:N15"), Type:=xlFillDefault
    Next i
   ' .Protect DrawingObjects:=True, Contents:=True, Scenarios:=True _
        , AllowFormattingColumns:=True, AllowFormattingRows:=True, AllowSorting:= _
        True, AllowFiltering:=True, AllowUsingPivotTables:=True
End With
Application.ScreenUpdating = True
End Sub

Dan,

j'ai inséré le code dans mon fichier mais cela ne fonctionne pas.

Je te joint le fichier (même si cela alourdi la discussion afin que tu puisses voir comment j'ai inséré le code VBA).

Bonjour Excelée,

Je suis de passage, pour donner un coup de main à l'ami Dan, qu'est-ce qui ne fonctionne pas !?

Sinon, en passant par le vrai nom des feuilles et par des variables

Sub InsertionNumLot()
  Dim dLig As Long, Lig As Long
  Dim Sht As Worksheet
  Dim sLot As String
  ' Désactiver le rafraichissement écran
  Application.ScreenUpdating = False
  ' Définir la feuille de traitement
  Set Sht = ThisWorkbook.Sheets("N° de lot")
  ' Dernière ligne de la feuille
  dLig = Sht.Range("C" & Rows.Count).End(xlUp).Row
  ' Avec la feuille
  With ThisWorkbook.Sheets("Prélèvements")
    .Unprotect
    ' Pour chaque ligne à partir de la 4ème
    For Lig = 4 To dLig
      ' Récupérer le numéro de lot
      sLot = Sht.Range("C" & Lig)
      ' Insérer une nouvelle ligne
      .Rows("14:14").Insert Shift:=xlDown
      ' Selon le code lot
      Select Case UCase(Left(sLot, 2))
      Case Is = "PY"
        .Range("H14") = Left(sLot, 3) 'code site
      Case Is = "CA"
        .Range("F14") = Left(sLot, 2) 'code site
      End Select
      .Range("E14") = Mid(sLot, 4) 'lot numero
      .Range("A14") = WorksheetFunction.Max(.Range("A14:A" & .Range("A" & Rows.Count).End(xlUp).Row)) + 1 'Increment N°
      .Range("C14") = .Range("C4").Value
      .Range("D14") = Format(Now, "dd/mm/yyyy")
      .Range("B15").AutoFill Destination:=.Range("B14:B15"), Type:=xlFillDefault
      .Range("I15:N15").AutoFill Destination:=.Range("I14:N15"), Type:=xlFillDefault
    Next Lig
    ' .Protect DrawingObjects:=True, Contents:=True, Scenarios:=True _
    , AllowFormattingColumns:=True, AllowFormattingRows:=True, AllowSorting:= _
    True, AllowFiltering:=True, AllowUsingPivotTables:=True
  End With
  Application.ScreenUpdating = True
End Sub

A+

Bonjour Excelée, Bruno

j'ai inséré le code dans mon fichier mais cela ne fonctionne pas.

Qu'est ce qui ne fonctionne pas ? Vous avez 13 lignes en feuil N° de lot.
Vous cliquez sur le bouton N° de lot en feuille Prélèvement et cela importe bien les 13 lignes

Bonjour Dan, Bruno,

ça y est cela fonctionne!

Merci beaucoup pour votre temps et votre aide!

A bientôt!

ben cela fonctionnait comme je vous avais proposé et dans votre fichier posté

C'était un problème de débogage, mais c'est résolu

Encore merci Dan!

Rechercher des sujets similaires à "modification macro inserer nombre lignes souhaite"