Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Ajouter code automatiquement dans une macro

Steeve

XLDnaute Nouveau
Bonjour à tous,
Je vous explique donc mon problème. A l'exécution d'une macro, j'aimerai que le code suivant ce copie dans une autre :

With Sheets("Nom_entré_précédemment") 'Feuille source
NbrLig = .Cells(65536, Col).End(xlUp).Row
For Lig = 2 To NbrLig ' n° de la 1ere ligne de données
If .Cells(Lig, Col).Value <> "" Then
.Cells(Lig, Col).EntireRow.Copy
NumLig = NumLig + 1
Sheets("Matériel non conforme").Cells(NumLig, 1).Insert Shift:=xlDown
End If
Next
End With

Et à la place de "Nom_entré_précédemment", je veux que cela se change par un nom entré au préalable dans une ComboBox. J'espère que j'ai été assez clair et que je vous me comprendrai.

En l'attente de réponse, je vous remercie d'avance!
Steeve.
 

JNP

XLDnaute Barbatruc
Re : Ajouter code automatiquement dans une macro

Re ,
J'ai l'impression que tu tournes un peu en rond ...
Pourquoi, est-ce que tu n'utilises pas une Sub type
Code:
Sub Traitement(ATraiter As String)
With Sheets(ATraiter) 'Feuille source
NbrLig = .Cells(65536, Col).End(xlUp).Row
For Lig = 2 To NbrLig ' n° de la 1ere ligne de données
If .Cells(Lig, Col).Value <> "" Then
.Cells(Lig, Col).EntireRow.Copy
NumLig = NumLig + 1
Sheets("Matériel non conforme").Cells(NumLig, 1).Insert Shift:=xlDown
End If
Next
End With
End Sub
et dans le code de ton USF
Code:
Traitement (TextBox_Nom_précédemment.Text)
?
Bonne suite
 

Fo_rum

XLDnaute Accro
Re : Ajouter code automatiquement dans une macro

Bonsoir,

dès qu'un agent est créé tu veux l'inscrire directement. Je pensais que tu voulais passer par la mise à jour.
Donc comme le conseille JNP, une macro supplémentaire permet de ne pas réécrire des lignes de codes.
Pour la date, pas de problème pour la changer mais il faudra peut-être prévoir un retour en cas d'erreur non ?
Vois si le nouveau fichier peut t'inspirer.
 

Pièces jointes

  • MacrosCommunes(2).xlsm
    237.1 KB · Affichages: 59

pierrejean

XLDnaute Barbatruc
Re : Ajouter code automatiquement dans une macro

Re

Salut a tous

Autre proposition:

A mettre dans le module de la feuille Matériel non conforme pour mise a jour a chaque activation et non seulement apres ajout d'un agent

Code:
Private Sub Worksheet_Activate()
ActiveSheet.Range("B4:N65536").ClearContents
For n = 2 To Sheets("Liste agent").Range("B65536").End(xlUp).Row
  f = Sheets("Liste agent").Range("B" & n)
   For m = 3 To Sheets(f).Range("L65536").End(xlUp).Row
     If Sheets(f).Range("L" & m) = "Non conforme" Then
       Sheets(f).Range("B" & m & ":N" & m).Copy Destination:=ActiveSheet.Range("B65536").End(xlUp).Offset(1, 0)
     End If
   Next m
Next n
End Sub
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…