Bonjour à tous,
j'ai un petit souci :
j'utilise dans un fichier excel avec macro, une base de données regroupant différentes machines. Quand je sélectionne une machine de la base de donnée, il m'en ressort les caractéristiques de celle-ci.
Cependant, à travers une macro je peux ajouter / supprimer des machines et leurs caractéristiques dans ma base de données.
j'ai un tableau regroupant les caractéristiques des machines, et une liste de fichier "source" (le nom des machines)
mon problème est le suivant, je peux ajouter les machines sans souci, je peux supprimer n'importe laquelle sans problème, sauf : la 1ère de la liste, si par ma macro je supprime la première machine de ma liste, toute ma liste "source" se retrouve supprimé, et je ne comprend pas pourquoi.
ci joint le bout de code associer à ma fonction supprimer
"snumac" étant ma plage de donnée des machines ( = source, numéro machine)
si je n'ai pas été clair, n'hésitez pas
voilà, si quelqu'un à la patience de m'aider, je vous remercie d'avance !
Charles.
j'ai un petit souci :
j'utilise dans un fichier excel avec macro, une base de données regroupant différentes machines. Quand je sélectionne une machine de la base de donnée, il m'en ressort les caractéristiques de celle-ci.
Cependant, à travers une macro je peux ajouter / supprimer des machines et leurs caractéristiques dans ma base de données.
j'ai un tableau regroupant les caractéristiques des machines, et une liste de fichier "source" (le nom des machines)
mon problème est le suivant, je peux ajouter les machines sans souci, je peux supprimer n'importe laquelle sans problème, sauf : la 1ère de la liste, si par ma macro je supprime la première machine de ma liste, toute ma liste "source" se retrouve supprimé, et je ne comprend pas pourquoi.
ci joint le bout de code associer à ma fonction supprimer
Code:
Private Sub CommandButton2_Click()
Application.ScreenUpdating = False
Dim numac As String
Call protect_off
'on verifie que la machine a supprimer fasse partie de la liste
If Me.txtsup.MatchFound = False Then
MsgBox "La machine " & Me.txtsup.Text & " n'existe pas!", vbExclamation
Call protect_on
Exit Sub
End If
'on donne la valeur de la machine à supprimer a la variable numac
numac = Me.txtsup.Text
p_source.Select
Range("snumac").Select
Do While ActiveCell.Value <> numac
ActiveCell.Offset(1, 0).Select
Loop
'on supprime le numero
Selection.Delete Shift:=xlUp
'on passe sur l'onglet base
p_base.Select
Range("nmachine").Select
Do While ActiveCell.Value <> numac
ActiveCell.Offset(1, 0).Select
Loop
'on supprime la ligne recherchée
ActiveCell.EntireRow.Delete
'on vide le champ de recherche
Me.txtsup.Text = ""
'conclusion
MsgBox "La machine " & numac & " et sa Check List ont été supprimées!", vbInformation
Call protect_on
End Sub
"snumac" étant ma plage de donnée des machines ( = source, numéro machine)
si je n'ai pas été clair, n'hésitez pas
voilà, si quelqu'un à la patience de m'aider, je vous remercie d'avance !
Charles.