OVH Cloud OVH Cloud

Création d'une fiche de saisie

11 réponses
Avatar
sdellaux
en piece jointe mon dossier

http://cjoint.com/?fuqctTkB40

malgr=E9 mes recherches sur la FAQ, je n'arrive pas a creer une fiche de
saisie en VBA, le mode Grille existe certes mais n'est pas tres rapide
ou du moins ais=E9;
j'ai repris dans mon dossier joint l'ensemble des points que je
souhaite

merci d'avance pour votre contribution
st=E9phane

1 réponse

1 2
Avatar
FFO
Rebonjours
Tout dabord ne soit pas désolé
Des petits réglages sont souvent nécessaire n'ayant pas tout à fait le même
contexte de travail
Ces lignes ont pour but de convertir les données de la colonne C pour
s'assurer de leur qualité afin de réaliser un tri correcte
Moi je n'est pas même avec ton fichier joint de plantage concernant ces lignes
Dans un premier temps mets en début de chacune de ces lignes une cote ( ' )
les lignes doivent devenir vertes
Le but est de les inhiber afin de permettre le déroulement de la macro
Puis d'analyser le résultat
2 solution :
Le tri est bon inutile d'essayer de remettre ces lignes
Le tri n'est pas bon il faudra analyser la raison du plantage et d'apporter
la correction pour pouvoir les utiliser

Essaies donc ce que je te propose et donnes moi le résultat

Le code avec les lignes inhibées :

Private Sub WorkSheet_BeforeDoubleClick(ByVal Target As Range, Cancel As _
Boolean)
Cancel = True
If ActiveCell.Address = Range("H1").Address Then
Sheets.Add
Nom = ActiveSheet.Name
Sheets(Nom).Range("B1").EntireRow.Value = _
Sheets("BDG").Range("B2").EntireRow.Value
Sheets("BDG").Range("IV1").End(xlToLeft).Value = "CREER" & " " & Nom
End If
If ActiveCell.Address = Range("IV1").End(xlToLeft).Address Then
Columns("C:C").Select
'Selection.TextToColumns Destination:=Range("C1"), DataType:=xlDelimited, _
'TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:úlse, _
'Tab:=True, _
'Semicolon:úlse, Comma:úlse, Space:úlse, Other:úlse, _
'FieldInfo _
':=Array(1, 1), TrailingMinusNumbers:=True
Onglet = Mid(Range("N1"), 7, Len(Range("N1")) - 6)
For I = 1 To Sheets.Count
If Sheets(I).Name = Onglet Then
ligne = Sheets(Onglet).Range("B65535").End(xlUp).Row
Sheets(Onglet).Range("A" & ligne).EntireRow.Copy
Range("B65535").End(xlUp).Offset(1, -1).Select
ActiveSheet.Paste
ActiveCell.Offset(-1, 0).EntireRow.Copy
Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
SkipBlanks:úlse, Transpose:úlse
Range([B65535].End(xlUp).Offset(0, -1), [A3]).EntireRow.Select
Selection.Sort Key1:=Range("C3"), Order1:=xlAscending, Header:=xlNo, _
OrderCustom:=1, MatchCase:úlse, Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal
End If
Next
Application.DisplayAlerts = False
Sheets(Onglet).Select
ActiveWindow.SelectedSheets.Delete
End If
End Sub

Tu peux aussi le recopier en lieu et place


Re j'ai repris donc le nouveau code
à la premiere saisie lorsque je valide j'ai message erreur de débogage
et les lignes suivantes sont surlignées en jaunes

Selection.TextToColumns Destination:=Range("C1"),
DataType:=xlDelimited, _
TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:úlse, _
Tab:=True, _
Semicolon:úlse, Comma:úlse, Space:úlse, Other:úlse, _
FieldInfo _
:=Array(1, 1), TrailingMinusNumbers:=True

Que se passe t il ?
vraiment désolé pour tous ces contre temps
cordialement
stéphane




1 2