Saisir en dehors de la feuille de données
Bonjour,
Pouvez-vous m'aider?
comment changer les codes pour que ma saisie ne soit pas dans la base de données 'DMC'?
actuellement j'ai ceci:
je saisie dans la feuille DMC( BDD=colonneA)
mais j'aimerais saisir dans la feuille 'Saisie' et cacher ma feuille 'DMC'
ce qui me donnerait ceci où la colonne A est vide
voici mes codes:
j'ai essayé avec ça:
Dim sh As Worksheet
Set sh = Sheets("DMC") mais sans succés
Option Compare Text
Sub Couleur2()
Dim DerLigA As Long, DerLigF As Long, NumColor As Long, DerCol As Long
Dim SYMBOLE As Variant
DerLigA = Range("A" & Rows.Count).End(xlUp).Row
DerCol = Range("ZZ3").End(xlToLeft).Column
If DerCol = 1 Then DerCol = 3
If UserForm1.Titre = "" Then MsgBox ("Vous n'avez pas saisi de Titre!"): Exit Sub
If UserForm1.SYMBOLE = "" Then MsgBox ("Vous n'avez pas saisi de Symbole!"): Exit Sub
If UserForm1.DMC = "" Then MsgBox ("Vous n'avez pas saisi de N° de Couleur!"): Exit Sub
NumColor = UserForm1.DMC.Value 'N°DMC
SYMBOLE = UserForm1.SYMBOLE.Value ' Symbole
Titre = UserForm1.Titre.Value ' Titre
DerLigF = Cells(Rows.Count, DerCol).End(xlUp).Row
If DerLigF = 18 Then
DerLigF = 2
DerCol = DerCol + 1
ElseIf DerLigF = 1 Then
DerLigF = 2
End If
With Sheets("DMC").Range("A1:A" & DerLigA)
Set c = .Find(NumColor, lookat:=xlWhole)
If Not c Is Nothing Then
Cells(DerLigF + 1, DerCol) = Titre & Chr(10) & NumColor & Chr(10) & SYMBOLE
Cells(DerLigF + 1, DerCol).Interior.Color = Cells(c.Row, "A").Interior.Color
Cells(DerLigF + 1, DerCol).Font.Color = Cells(c.Row, "A").Font.Color
Else
MsgBox "Couleur introuvable"
End If
End With
End Sub
merci
bonjour
si j'ai bien compris
Option Compare Text
Sub Couleur2()
Dim DerLigA As Long, DerLigF As Long, NumColor As Long, DerCol As Long
Dim SYMBOLE As Variant
DerLigA = Range("A" & Rows.Count).End(xlUp).Row
DerCol = Range("ZZ3").End(xlToLeft).Column
If DerCol = 1 Then DerCol = 3
If UserForm1.Titre = "" Then MsgBox ("Vous n'avez pas saisi de Titre!"): Exit Sub
If UserForm1.SYMBOLE = "" Then MsgBox ("Vous n'avez pas saisi de Symbole!"): Exit Sub
If UserForm1.DMC = "" Then MsgBox ("Vous n'avez pas saisi de N° de Couleur!"): Exit Sub
NumColor = UserForm1.DMC.Value 'N°DMC
SYMBOLE = UserForm1.SYMBOLE.Value ' Symbole
Titre = UserForm1.Titre.Value ' Titre
DerLigF = Cells(Rows.Count, DerCol).End(xlUp).Row
If DerLigF = 18 Then
DerLigF = 2
DerCol = DerCol + 1
ElseIf DerLigF = 1 Then
DerLigF = 2
End If
With Sheets("Saisie").Range("A1:A" & DerLigA)
Set c = .Find(NumColor, lookat:=xlWhole)
If Not c Is Nothing Then
Cells(DerLigF + 1, DerCol) = Titre & Chr(10) & NumColor & Chr(10) & SYMBOLE
Cells(DerLigF + 1, DerCol).Interior.Color = Cells(c.Row, "A").Interior.Color
Cells(DerLigF + 1, DerCol).Font.Color = Cells(c.Row, "A").Font.Color
Else
MsgBox "Couleur introuvable"
End If
End With
End Sub
merciiiiiiii
Bonjour,
Non, vous n'avez pas compris.
j'ai trouvé
Option Compare Text
Sub Couleur2()
Dim DerLigA As Long, DerLigF As Long, NumColor As Long, DerCol As Long
Dim SYMBOLE As Variant
Dim f As Worksheet
Set f = Sheets("DMC")
Dim ff As Worksheet
Set ff = Sheets("saisie")
DerLigA = f.Range("A" & Rows.Count).End(xlUp).Row
DerCol = ff.Range("ZZ3").End(xlToLeft).Column
If DerCol = 1 Then DerCol = 3
If UserForm1.Titre = "" Then MsgBox ("Vous n'avez pas saisi de Titre!"): Exit Sub
If UserForm1.SYMBOLE = "" Then MsgBox ("Vous n'avez pas saisi de Symbole!"): Exit Sub
If UserForm1.DMC = "" Then MsgBox ("Vous n'avez pas saisi de N° de Couleur!"): Exit Sub
NumColor = UserForm1.DMC.Value 'N°DMC
SYMBOLE = UserForm1.SYMBOLE.Value ' Symbole
Titre = UserForm1.Titre.Value ' Titre
DerLigF = ff.Cells(Rows.Count, DerCol).End(xlUp).Row
If DerLigF = 18 Then
DerLigF = 2
DerCol = DerCol + 1
ElseIf DerLigF = 1 Then
DerLigF = 2
End If
With f.Range("A1:A" & DerLigA)
Set c = .Find(NumColor, lookat:=xlWhole)
If Not c Is Nothing Then
ff.Cells(DerLigF + 1, DerCol) = Titre & Chr(10) & NumColor & Chr(10) & SYMBOLE
ff.Cells(DerLigF + 1, DerCol).Interior.Color = f.Cells(c.Row, "A").Interior.Color
ff.Cells(DerLigF + 1, DerCol).Font.Color = f.Cells(c.Row, "A").Font.Color
Else
MsgBox "Couleur introuvable"
End If
End With
End Sub
@bientôt
Bonjour,
en fait non, je n'ai pas trouvé il y a une erreur.... sur les codes ci-dessus
C'est ok ça fonctionne enfin du moins jusqu'à présent
mais si un pro trouve une erreur merci de bien vouloir m'avertir
merci
Bonjour,
Il est difficile de vous répondre u seul vu du code, mais vous avez bien compris la clef du problème ;: D'une manière ou d'une autre -Si ce n'est pas la feuille active-, il faut préciser à chaque fois de quelle feuille il s'agit dès qu'un range, une cell ou une sélection entre en jeu.
Pas besoin de plusieurs étages à la fusée :
Dim Ws
Set Ws = Worksheets("blabla") suffira...
Ensuite Truc = Ws.Cells(...
Var = Ws.Range("autre")...
On utilise aussi souvent
With Worksheets("blabla")
puis ensuite
With Worksheets("blabla")
.Range(.Cells(2,4),.Cells(2,4))
Evitez d'utiliser des variables d'une seul caractère qui rendent le code peu lisible et surtout impossible à faire des recherches (des lettres de l'alphabet on en trouve partout... !)
A+
Bonjour,
et merci beaucoup
j'ai bien une petite erreur par moment
mais je ne trouve pas
j'ai modifié mes codes
J'avais changé le nom des combobox1 par DMC et combobox2 par SYMBOLE mais comme j'ai des variables du même nom. Peut-être que ça venait de là?
@ bientôt
Bonjour,
je crois avoir trouvé mon erreur
NumColor As long --> que des chiffres c'est bien ça?
mais malheureusement j'ai aussi des lettres dans NumColor
j'ai changé par
NumColor As Variant
j'espère que je suis bon
@bientôt