Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

rudy dehaudt

XLDnaute Occasionnel
bonjour a tous,
dans le fichier cijoint ( encore merci a tousssss ) il y a un usf qui lorsque je vais sur l onglet nvl commande je double clic a la suite ( évidant avec le visuel du fichier ) créer un vouveau bon de commande mais je vien de m apercevoire que arriver au numero 10 il donne une erreur car il me crée une copie du numero 1 et non le numero 11 ( beaucoup plus claire avec le fichier...)

si vous pouviez jeter un coup de clavier

A+

Cijoint.fr - Service gratuit de dépôt de fichiers
 
Re : erreur de copie

je me permet de placer le code qui me limite d une façon mysterieuse

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Dim sh As Worksheet 'déclare la variable sh (SHeet)
Dim Lg As Long, cl As Byte ' Récupèrent les numéros de ligne et de colonne du double-clic

'si l'édition a lieu dans la 1ère cellule vide
Lg = Target.Row: cl = Target.Column
If cl = 1 And Target.Row = Range("A65536").End(xlUp).Row + 1 Then ' colonne A et 1ère cellule vide en colonne A
Cells(Lg, 1) = "bon de commande " & Right(Cells(Lg - 1, 1), 1) + 1
Cells(Lg, 2) = Cells(Lg - 1, 2)
Cells(Lg, 2) = Replace(Cells(Lg - 1, 2), Right(Cells(Lg - 1, 2), 6), Format(Right(Cells(Lg - 1, 2), 1) + 1, "000000"))
Sheets("bon de commande 1").Copy before:=Sheets(Sheets.Count) 'copie l'onglet "Modèle" en premier
With ActiveSheet
.Name = Sheets("nvl commande").Range("A" & Lg) ' renomme l'onglet copié avec la valeur éditée
.Range("E1").Value = Sheets("nvl commande").Range("B" & Lg).Value ' recopie le n° de réclamation
.Range("G1") = Date ' Copie la date systeme
End With
Else ' sinon sort de la procédure
Cancel = True
End If
End Sub

A+
 
Re : erreur de copie

bonjour Rudy
17 est la longueur de "bon de commande "+1
essaye comme suit
Cells(Lg, 1) = "bon de commande " & Val(Mid(Target.Offset(-1, 0), 17, 2)) + 1
tu peux écrire aussi
Target.Value = "bon de commande " & Val(Mid(Target.Offset(-1, 0), 17, 2)) + 1
Target.offset(,1).Value = Target.Offset(-1, 1)
etc
à bientôt
 
Re : erreur de copie

impect jusqua ce que je m aperçoive que le numero du bon de commande passe de 660001-000010 a 660001-000001 quand je créer le 11 éme bon de commande
je ne pense pas que c est ton code qui me limite de cette façon mais si tu as une idée je suis prenneur

A+
désoller pour la création de la double discution ( suite de chiffre )
 
Re : erreur de copie

bonjour Rudy
écrire le n° comme suit '660001-000010

ou ce code te donnera peut être des idées

Sub x()
mot = "000000"'2ème partie du n°
For lg = 1 To 30
mot = Left(mot, Len(mot) - Len(lg)) & lg
Cells(lg, 1) = "660001-" & mot
Next
End Sub

à bientôt
 
Re : erreur de copie

bonjour Rudy
sorry
comme suit

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Dim sh As Worksheet 'déclare la variable sh (SHeet)
Dim Lg As Long, cl As Byte ' Récupèrent les numéros de ligne et de colonne du double-clic
Dim Num As Integer, Mot As String
'si l'édition a lieu dans la 1ère cellule vide
Lg = Target.Row: cl = Target.Column
If cl = 1 And Target.Row = Range("A65536").End(xlUp).Row + 1 Then ' colonne A et 1ère cellule vide en colonne A
Cells(Lg, 1) = "bon de commande " & Mid(Cells(Lg - 1, 1), 17) + 1
Cells(Lg, 2) = Left(Cells(Lg - 1, 2), 7)
Mot = "000000": Num = Right(Cells(Lg - 1, 2), 6)
Num = Num + 1
Mot = Left(Mot, Len(Mot) - Len(Num)) & Num
Cells(Lg, 2) = Cells(Lg, 2) & Mot
Sheets("bon de commande 1").Copy before:=Sheets(Sheets.Count) 'copie l'onglet "Modèle" en premier
With ActiveSheet
.Name = Sheets("nvl commande").Range("A" & Lg) ' renomme l'onglet copié avec la valeur éditée
.Range("E1").Value = Sheets("nvl commande").Range("B" & Lg).Value ' recopie le n° de réclamation
.Range("G1") = Date ' Copie la date systeme
End With
Else ' sinon sort de la procédure
Cancel = True
End If
End Sub
 
Re : erreur de copie

en effet c est cette ligne donc sur 2003 il te créer des bons de commade 11 ETC...?
si c est cela c est pas cool car aux boulot ( et a la maison c est certain ) c est c est une version 2000 il me semble ?
il y a donc une solution a cette situation ?
quoi qu il en soit reçois tout mais remerciment pour le temp passer.

A+
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
32
Affichages
1 K
  • Question Question
Microsoft 365 Erreur de format
Réponses
5
Affichages
597
Retour