colonne test

Le
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.
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
MichD
Le #23971691
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.
steph b
Le #23971981
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" 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.



MichD
Le #23971971
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" 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.



Publicité
Poster une réponse
Anonyme