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 :p...
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)
:confused: ?
Bonne suite :cool:
 

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

Statistiques des forums

Discussions
312 737
Messages
2 091 497
Membres
104 960
dernier inscrit
jbhery@