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
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
Que se passe t il ? vraiment désolé pour tous ces contre temps cordialement stéphane
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
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