Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

colonne test

3 réponses
Avatar
steph b
Bonjour
j 'ai un tableau allant aujourd hui de A2à Kx ( x étant variable)


j'utilise un userform pour insérer des données dans ce tableau à partir de
la 1ere ligne vide à la fin les unes à la suite de l'autre.Petit précision
la feuille s'appelle "BD_EV"

mon probleme:
dans ce userform j'inclus un numéro dans une textbox qui correspond à un
numéro de facture.
j'aimerais qu'avant de placer la nouvelles lignes qui me check si le numéro
mis dans cette textbox n'existe pas ou existe déjàdans la colonne A allant
de A2 à Ax.

1 er cas: si le numéro n'existe pas alors il execute la macro normalement...

2eme cas: si le numéro existe alors il me trouve le numéro de la ligne ou
est déjà ce numéro, et ensuite me trouve de cette ligne la derniere colonne
vide. et me place dedans un "X".

est ce possible?

je sais pas si j'ai été clair.

mais merci d'avance pour votre aide.

3 réponses

Avatar
MichD
Bonjour,

Essaie comme ceci en adaptant le nom des objets si requis.

'------------------------------------
Sub test()
Dim DerLig As Long, LaLigne As Variant

With Worksheets("BD_EV")
'Trouver la première ligne vide dans la plage A:K
DerLig = .Range("A:K").Find(What:="*", _
LookIn:=xlValues, _
SearchOrder:=xlByRows, _
SearchDirection:=xlPrevious).Row + 1

'Trouver la ligne de la colonne A:A correspondant
'au textbox. Si le numéro de la facture est alphanumérique
'il faut enlever la fonction clng()
LaLigne = Application.Match(CLng(10), .Range("A:A"), 0)
If IsNumeric(LaLigne) Then
'le numéro de la facture existait, on ajoute un X
.Range("L" & LaLigne) = "X"
End If
'Copie les données du formulaire vers la feuille
.Range("A" & DerLig) = Userform1.textbox1
.Range("B" & DerLig) = Userform1.textbox2
.Range("C" & DerLig) = Userform1.textbox3
'.../etc
End With
End Sub
'------------------------------------



MichD
------------------------------------------
"steph b" a écrit dans le message de groupe de discussion : 4ec3b242$0$5689$

Bonjour
j 'ai un tableau allant aujourd hui de A2à Kx ( x étant variable)


j'utilise un userform pour insérer des données dans ce tableau à partir de
la 1ere ligne vide à la fin les unes à la suite de l'autre.Petit précision
la feuille s'appelle "BD_EV"

mon probleme:
dans ce userform j'inclus un numéro dans une textbox qui correspond à un
numéro de facture.
j'aimerais qu'avant de placer la nouvelles lignes qui me check si le numéro
mis dans cette textbox n'existe pas ou existe déjàdans la colonne A allant
de A2 à Ax.

1 er cas: si le numéro n'existe pas alors il execute la macro normalement...

2eme cas: si le numéro existe alors il me trouve le numéro de la ligne ou
est déjà ce numéro, et ensuite me trouve de cette ligne la derniere colonne
vide. et me place dedans un "X".

est ce possible?

je sais pas si j'ai été clair.

mais merci d'avance pour votre aide.
Avatar
steph b
re bonjour
en fait je me suis mal exprimé je pense
on oublie le fait que le chiffre n existe pas

donc imaginons que le numéro de facture soit le 10610 par exmple
et que la plage A2:Ax il y est déjà ce numéro de facture
donc il me recupere la ligne ou il a trouver ce numero de facture.
et sur la meme ligne en colonne L il me mets un X.

merci

"MichD" a écrit dans le message de news:
ja0ea2$dqf$
Bonjour,

Essaie comme ceci en adaptant le nom des objets si requis.

'------------------------------------
Sub test()
Dim DerLig As Long, LaLigne As Variant

With Worksheets("BD_EV")
'Trouver la première ligne vide dans la plage A:K
DerLig = .Range("A:K").Find(What:="*", _
LookIn:=xlValues, _
SearchOrder:=xlByRows, _
SearchDirection:=xlPrevious).Row + 1

'Trouver la ligne de la colonne A:A correspondant
'au textbox. Si le numéro de la facture est alphanumérique
'il faut enlever la fonction clng()
LaLigne = Application.Match(CLng(10), .Range("A:A"), 0)
If IsNumeric(LaLigne) Then
'le numéro de la facture existait, on ajoute un X
.Range("L" & LaLigne) = "X"
End If
'Copie les données du formulaire vers la feuille
.Range("A" & DerLig) = Userform1.textbox1
.Range("B" & DerLig) = Userform1.textbox2
.Range("C" & DerLig) = Userform1.textbox3
'.../etc
End With
End Sub
'------------------------------------



MichD
------------------------------------------
"steph b" a écrit dans le message de groupe de discussion :
4ec3b242$0$5689$

Bonjour
j 'ai un tableau allant aujourd hui de A2à Kx ( x étant variable)


j'utilise un userform pour insérer des données dans ce tableau à partir de
la 1ere ligne vide à la fin les unes à la suite de l'autre.Petit précision
la feuille s'appelle "BD_EV"

mon probleme:
dans ce userform j'inclus un numéro dans une textbox qui correspond à un
numéro de facture.
j'aimerais qu'avant de placer la nouvelles lignes qui me check si le
numéro
mis dans cette textbox n'existe pas ou existe déjàdans la colonne A allant
de A2 à Ax.

1 er cas: si le numéro n'existe pas alors il execute la macro
normalement...

2eme cas: si le numéro existe alors il me trouve le numéro de la ligne ou
est déjà ce numéro, et ensuite me trouve de cette ligne la derniere
colonne
vide. et me place dedans un "X".

est ce possible?

je sais pas si j'ai été clair.

mais merci d'avance pour votre aide.



Avatar
MichD
J'ai écrit ceci :
LaLigne = Application.Match(CLng(10), .Range("A:A"), 0)

Au lieu du 10, il faudrait écrire le nom du texbox dans lequel tu insères le numéro de facture.


MichD
------------------------------------------
"steph b" a écrit dans le message de groupe de discussion : 4ec3d284$0$2539$

re bonjour
en fait je me suis mal exprimé je pense
on oublie le fait que le chiffre n existe pas

donc imaginons que le numéro de facture soit le 10610 par exmple
et que la plage A2:Ax il y est déjà ce numéro de facture
donc il me recupere la ligne ou il a trouver ce numero de facture.
et sur la meme ligne en colonne L il me mets un X.

merci

"MichD" a écrit dans le message de news:
ja0ea2$dqf$
Bonjour,

Essaie comme ceci en adaptant le nom des objets si requis.

'------------------------------------
Sub test()
Dim DerLig As Long, LaLigne As Variant

With Worksheets("BD_EV")
'Trouver la première ligne vide dans la plage A:K
DerLig = .Range("A:K").Find(What:="*", _
LookIn:=xlValues, _
SearchOrder:=xlByRows, _
SearchDirection:=xlPrevious).Row + 1

'Trouver la ligne de la colonne A:A correspondant
'au textbox. Si le numéro de la facture est alphanumérique
'il faut enlever la fonction clng()
LaLigne = Application.Match(CLng(10), .Range("A:A"), 0)
If IsNumeric(LaLigne) Then
'le numéro de la facture existait, on ajoute un X
.Range("L" & LaLigne) = "X"
End If
'Copie les données du formulaire vers la feuille
.Range("A" & DerLig) = Userform1.textbox1
.Range("B" & DerLig) = Userform1.textbox2
.Range("C" & DerLig) = Userform1.textbox3
'.../etc
End With
End Sub
'------------------------------------



MichD
------------------------------------------
"steph b" a écrit dans le message de groupe de discussion :
4ec3b242$0$5689$

Bonjour
j 'ai un tableau allant aujourd hui de A2à Kx ( x étant variable)


j'utilise un userform pour insérer des données dans ce tableau à partir de
la 1ere ligne vide à la fin les unes à la suite de l'autre.Petit précision
la feuille s'appelle "BD_EV"

mon probleme:
dans ce userform j'inclus un numéro dans une textbox qui correspond à un
numéro de facture.
j'aimerais qu'avant de placer la nouvelles lignes qui me check si le
numéro
mis dans cette textbox n'existe pas ou existe déjàdans la colonne A allant
de A2 à Ax.

1 er cas: si le numéro n'existe pas alors il execute la macro
normalement...

2eme cas: si le numéro existe alors il me trouve le numéro de la ligne ou
est déjà ce numéro, et ensuite me trouve de cette ligne la derniere
colonne
vide. et me place dedans un "X".

est ce possible?

je sais pas si j'ai été clair.

mais merci d'avance pour votre aide.