Traduction d'une procedure
bonsoir et bonne fête a tous
es ce que quelqu'un pourrait me traduire cette procédure svp
Private Sub Btn_Valider_Click()
num_colonne = 8 + (ActiveSheet.Range("B3").Value) * 5
Doublon = TextBox_Repere.Value & ComboBox_Repere2.Value
PI_feuille_de_reference = ActiveSheet.Name
Application.ScreenUpdating = False
PI_Feuil17.Unprotect Password:=PI_Feuil2.Range("A1").Value
Select Case True
Case ComboBox_type.Value = ""
MsgBox "Merci de renseigner le type d'isolement!"
Exit Sub
Case ComboBox_Ptravaux = ""
MsgBox "Merci de renseigner la position exigée de : " & ComboBox_type.Value & " " & TextBox_Repere.Value & ComboBox_Repere2.Value
Exit Sub
End Select
For Each cell In PI_Feuil17.Range("C7:C200")
Select Case cell.Value
Case Is = Doublon
Select Case PI_Feuil17.Cells(cell.Row, num_colonne)
Case Is <> ""
'Le repère existe pour cette étape
MsgBox "Ce repère est déja existant pour cette étape!"
Exit Sub
Case Is = ""
num_ligne = cell.Row
PI_Feuil17.Cells(num_ligne, num_colonne).Value2 = ComboBox_Ptravaux.Value
PI_Feuil17.Cells(num_ligne, num_colonne).Locked = True
PI_Feuil17.Protect Password:=PI_Feuil2.Range("A1").Value
Sheets(PI_feuille_de_reference).Activate
Call ajout_nouveau_repere_isolement
Exit Sub
End Select
Case Is = ""
num_ligne = cell.Row
If num_ligne = 34 Or num_ligne = 60 Or num_ligne = 86 Or num_ligne = 112 Or num_ligne = 138 Or num_ligne = 164 Or num_ligne = 190 Or num_ligne = 216 Then Call ajout_lignes_tableau(cell.Row)
'Remplissage de la PI_Feuille "LISTE ISOLEMENTS"
PI_Feuil17.Range("A" & num_ligne).Value2 = ComboBox_Repere2.Value
PI_Feuil17.Range("B" & num_ligne).Value2 = ComboBox_type.Value
PI_Feuil17.Range("C" & num_ligne).Value2 = TextBox_Repere.Value & ComboBox_Repere2.Value
PI_Feuil17.Range("D" & num_ligne).Value2 = TextBox_Localisation.Value
PI_Feuil17.Range("E" & num_ligne).Value2 = TextBox_Diametre.Value
If CheckBox1.Value = True Then PI_Feuil17.Range("F" & num_ligne).Value2 = "X"
PI_Feuil17.Cells(num_ligne, num_colonne).Value2 = ComboBox_Ptravaux.Value
PI_Feuil17.Range("BQ" & num_ligne).Value = ActiveSheet.Range("L6").Value2
PI_Feuil17.Range("B" & num_ligne).Locked = True
PI_Feuil17.Range("C" & num_ligne).Locked = True
PI_Feuil17.Cells(num_ligne, num_colonne).Locked = True
If Not PI_Feuil1.Range("A4:A23").Find(ComboBox_type.Value, lookat:=xlWhole) Is Nothing Then ligne_tableau_isolement = PI_Feuil1.Range("A4:A23").Find(ComboBox_type.Value, lookat:=xlWhole).Row
PI_Feuil1.Range("E2:AU2").Columns(ligne_tableau_isolement - 1).Delete Shift:=xlUp
PI_Feuil17.Protect Password:=PI_Feuil2.Range("A1").Value
Sheets(PI_feuille_de_reference).Activate
Call ajout_nouveau_repere_isolement
Exit Sub
Case Is <> Doublon
End Select
merci a vous pour vos reponse
Bonjour,
Justement, pour les fêtes ! ce serait bien de commencer par la mettre sous balises Code, de l'indenter si elle ne l'est pas, de la mettre en entier autant que possible, de mettre les déclarations qui la concernent si elles n'y sont pas intégrées et dire si elle fonctionne...
Et ensuite on pourra regarder, et voir si le fichier est nécessaire pour interpréter ou si on peut s'en passer...
[Et je regarderai de plus près ce qui m'a hérissé quelque peu en jetant un oeil de loin...
bonjour et merci de m'avoir repondu
je cherche juste a savoir a quoi correspond
num_ligne = cell.Row
que veut dire cell.row
num_colonne = 8 + (ActiveSheet.Range("B3").Value) * 5
que veut dire cette ligne
merci pour vos reponse
Bonjour MFerrand ... je plussoie
Réponse avec balise, tu verras que c'est plus lisible !
num_ligne = cell.Row Row donne la ligne de la cellule nommée celldans ta procédure
num_colonne = 8 + (ActiveSheet.Range("B3").Value) * 5 La colonne (le numéro) sera égal à 8 fois le contenu de la cellule B3multiplié par 5