OVH Cloud OVH Cloud

adapter un code pour listes

13 réponses
Avatar
YANN24
Bonjour,
j'ai eu un code par l'intermédiaire de Daniel la semaine dernière, et je
voudrais l'adapter. Le hic, c'est que je ne comprends pas les paramètres à
changer. Quelqu'un peut-il m'expliquer ?
1) je voudrais copier les valeurs et la mise en forme seulement.
2) je voudrais copier les cellules de la colonne C à la colonne Q, et
commencer ma sélection à la ligne 4. mais je ne sais pas quels paramètres
changer.

Je vous remercie.
YANN
----------- dans mon module
'1. Création de la liste :
Sub CreationListe()
Dim Ligne As Integer
Ligne = 1
On Error Resume Next
Sheets("Recap").Activate
If Err <> 0 Then
Sheets.Add
ActiveSheet.Name = "Recap"
Sheets("Analyse 05").Select
For i = 0 To 300 Step 20
Range("D4").Offset(i, 0).Copy Sheets("Recap").Range("A" & Ligne)
Ligne = Ligne + 1
Next i
End If
On Error GoTo 0
End Sub

'3. Module Routine :
Sub Routine(Var)
Sheets("Analyse 05").Select
Range("A" & Var & ":L" & Var + 18).Copy
Sheets("Recap").Select
Range("A20").Select
ActiveSheet.Paste
End Sub

---------------- Dans ma page "Recap"
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim Var
If Intersect(Target, Range("A1:A15")) Is Nothing Then Exit Sub
Application.EnableEvents = False
Var = Application.Match(Target.Value, Sheets("Analyse 05").Range("D:D"),
0)
Routine Var
Application.EnableEvents = True
End Sub

10 réponses

1 2
Avatar
Daniel
Bonjour.
En A1 :
=STXT(CELLULE("nomfichier";A1);TROUVE("]";CELLULE("nomfichier";A1);1)+1;999)
Cordialement.
Daniel
"YANN24" a écrit dans le message de news:

Bonjour,
j'ai eu un code par l'intermédiaire de Daniel la semaine dernière, et je
voudrais l'adapter. Le hic, c'est que je ne comprends pas les paramètres à
changer. Quelqu'un peut-il m'expliquer ?
1) je voudrais copier les valeurs et la mise en forme seulement.
2) je voudrais copier les cellules de la colonne C à la colonne Q, et
commencer ma sélection à la ligne 4. mais je ne sais pas quels paramètres
changer.

Je vous remercie.
YANN
----------- dans mon module
'1. Création de la liste :
Sub CreationListe()
Dim Ligne As Integer
Ligne = 1
On Error Resume Next
Sheets("Recap").Activate
If Err <> 0 Then
Sheets.Add
ActiveSheet.Name = "Recap"
Sheets("Analyse 05").Select
For i = 0 To 300 Step 20
Range("D4").Offset(i, 0).Copy Sheets("Recap").Range("A" &
Ligne)
Ligne = Ligne + 1
Next i
End If
On Error GoTo 0
End Sub

'3. Module Routine :
Sub Routine(Var)
Sheets("Analyse 05").Select
Range("A" & Var & ":L" & Var + 18).Copy
Sheets("Recap").Select
Range("A20").Select
ActiveSheet.Paste
End Sub

---------------- Dans ma page "Recap"
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim Var
If Intersect(Target, Range("A1:A15")) Is Nothing Then Exit Sub
Application.EnableEvents = False
Var = Application.Match(Target.Value, Sheets("Analyse
05").Range("D:D"),
0)
Routine Var
Application.EnableEvents = True
End Sub




Avatar
CAP2
Le soleil tape fort vers chez toi ;o)))))))))))

CAP2
Avatar
YANN24
Bonjour Daniel,

euh, je ne comprend pas trop ta formule.
de plus, sur quel feuille la mettre? car sur la feuille "récap", je ne peux
pas aller sur la celulle A1.
Je voudrais savoir comment modifier mon VBA plutot.
je te remercie.
YANN


Bonjour.
En A1 :
=STXT(CELLULE("nomfichier";A1);TROUVE("]";CELLULE("nomfichier";A1);1)+1;999)
Cordialement.
Daniel
"YANN24" a écrit dans le message de news:

Bonjour,
j'ai eu un code par l'intermédiaire de Daniel la semaine dernière, et je
voudrais l'adapter. Le hic, c'est que je ne comprends pas les paramètres à
changer. Quelqu'un peut-il m'expliquer ?
1) je voudrais copier les valeurs et la mise en forme seulement.
2) je voudrais copier les cellules de la colonne C à la colonne Q, et
commencer ma sélection à la ligne 4. mais je ne sais pas quels paramètres
changer.

Je vous remercie.
YANN
----------- dans mon module
'1. Création de la liste :
Sub CreationListe()
Dim Ligne As Integer
Ligne = 1
On Error Resume Next
Sheets("Recap").Activate
If Err <> 0 Then
Sheets.Add
ActiveSheet.Name = "Recap"
Sheets("Analyse 05").Select
For i = 0 To 300 Step 20
Range("D4").Offset(i, 0).Copy Sheets("Recap").Range("A" &
Ligne)
Ligne = Ligne + 1
Next i
End If
On Error GoTo 0
End Sub

'3. Module Routine :
Sub Routine(Var)
Sheets("Analyse 05").Select
Range("A" & Var & ":L" & Var + 18).Copy
Sheets("Recap").Select
Range("A20").Select
ActiveSheet.Paste
End Sub

---------------- Dans ma page "Recap"
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim Var
If Intersect(Target, Range("A1:A15")) Is Nothing Then Exit Sub
Application.EnableEvents = False
Var = Application.Match(Target.Value, Sheets("Analyse
05").Range("D:D"),
0)
Routine Var
Application.EnableEvents = True
End Sub









Avatar
Daniel
Oui, ce que c'est que de se dépêcher !
Daniel
"CAP2" a écrit dans le message de news:
%
Le soleil tape fort vers chez toi ;o)))))))))))

CAP2




Avatar
Daniel
Bonjour.
Oublie la réponse. C'était une réponse à une autre question.
Désolé.
Daniel
"YANN24" a écrit dans le message de news:

Bonjour Daniel,

euh, je ne comprend pas trop ta formule.
de plus, sur quel feuille la mettre? car sur la feuille "récap", je ne
peux
pas aller sur la celulle A1.
Je voudrais savoir comment modifier mon VBA plutot.
je te remercie.
YANN


Bonjour.
En A1 :
=STXT(CELLULE("nomfichier";A1);TROUVE("]";CELLULE("nomfichier";A1);1)+1;999)
Cordialement.
Daniel
"YANN24" a écrit dans le message de
news:

Bonjour,
j'ai eu un code par l'intermédiaire de Daniel la semaine dernière, et
je
voudrais l'adapter. Le hic, c'est que je ne comprends pas les
paramètres à
changer. Quelqu'un peut-il m'expliquer ?
1) je voudrais copier les valeurs et la mise en forme seulement.
2) je voudrais copier les cellules de la colonne C à la colonne Q, et
commencer ma sélection à la ligne 4. mais je ne sais pas quels
paramètres
changer.

Je vous remercie.
YANN
----------- dans mon module
'1. Création de la liste :
Sub CreationListe()
Dim Ligne As Integer
Ligne = 1
On Error Resume Next
Sheets("Recap").Activate
If Err <> 0 Then
Sheets.Add
ActiveSheet.Name = "Recap"
Sheets("Analyse 05").Select
For i = 0 To 300 Step 20
Range("D4").Offset(i, 0).Copy Sheets("Recap").Range("A" &
Ligne)
Ligne = Ligne + 1
Next i
End If
On Error GoTo 0
End Sub

'3. Module Routine :
Sub Routine(Var)
Sheets("Analyse 05").Select
Range("A" & Var & ":L" & Var + 18).Copy
Sheets("Recap").Select
Range("A20").Select
ActiveSheet.Paste
End Sub

---------------- Dans ma page "Recap"
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim Var
If Intersect(Target, Range("A1:A15")) Is Nothing Then Exit Sub
Application.EnableEvents = False
Var = Application.Match(Target.Value, Sheets("Analyse
05").Range("D:D"),
0)
Routine Var
Application.EnableEvents = True
End Sub











Avatar
Daniel
Il y a un problème avec le collage spécial à cause des cellules fusionnées.
Exécute le copier / collage spécial à la main et vois ce que tu dois
modifier.
Daniel
"YANN24" a écrit dans le message de news:

Bonjour,
j'ai eu un code par l'intermédiaire de Daniel la semaine dernière, et je
voudrais l'adapter. Le hic, c'est que je ne comprends pas les paramètres à
changer. Quelqu'un peut-il m'expliquer ?
1) je voudrais copier les valeurs et la mise en forme seulement.
2) je voudrais copier les cellules de la colonne C à la colonne Q, et
commencer ma sélection à la ligne 4. mais je ne sais pas quels paramètres
changer.

Je vous remercie.
YANN
----------- dans mon module
'1. Création de la liste :
Sub CreationListe()
Dim Ligne As Integer
Ligne = 1
On Error Resume Next
Sheets("Recap").Activate
If Err <> 0 Then
Sheets.Add
ActiveSheet.Name = "Recap"
Sheets("Analyse 05").Select
For i = 0 To 300 Step 20
Range("D4").Offset(i, 0).Copy Sheets("Recap").Range("A" &
Ligne)
Ligne = Ligne + 1
Next i
End If
On Error GoTo 0
End Sub

'3. Module Routine :
Sub Routine(Var)
Sheets("Analyse 05").Select
Range("A" & Var & ":L" & Var + 18).Copy
Sheets("Recap").Select
Range("A20").Select
ActiveSheet.Paste
End Sub

---------------- Dans ma page "Recap"
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim Var
If Intersect(Target, Range("A1:A15")) Is Nothing Then Exit Sub
Application.EnableEvents = False
Var = Application.Match(Target.Value, Sheets("Analyse
05").Range("D:D"),
0)
Routine Var
Application.EnableEvents = True
End Sub




Avatar
YANN24
OK,
ça marche presque.
Le seul hic, c'est qu'il copie à partir de la cellule C5 au lieu de la
cellule C4.
comment faire?
------
'1. Création de la liste :
Sub CreationListe()
Dim Ligne As Integer
Ligne = 1
On Error Resume Next
Sheets("Recap").Activate
If Err <> 0 Then
Sheets.Add
ActiveSheet.Name = "Recap"
Sheets("Analyse 05").Select
For i = 0 To 300 Step 20
Range("D4").Offset(i, 0).Copy Sheets("Recap").Range("A" & Ligne)
Ligne = Ligne + 1
Next i
End If
On Error GoTo 0
End Sub

'3. Module Routine :
Sub Routine(Var)
Sheets("Analyse 05").Select
Range("C" & Var & ":Q" & Var + 18).Copy
Sheets("Recap").Select
Range("A20").Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:úlse
Range("A20").Select
Selection.PasteSpecial Paste:=xlFormats, Operation:=xlNone, SkipBlanks:= _
False, Transpose:úlse
'ActiveSheet.Paste
End Sub
---------------



Il y a un problème avec le collage spécial à cause des cellules fusionnées.
Exécute le copier / collage spécial à la main et vois ce que tu dois
modifier.
Daniel
"YANN24" a écrit dans le message de news:

Bonjour,
j'ai eu un code par l'intermédiaire de Daniel la semaine dernière, et je
voudrais l'adapter. Le hic, c'est que je ne comprends pas les paramètres à
changer. Quelqu'un peut-il m'expliquer ?
1) je voudrais copier les valeurs et la mise en forme seulement.
2) je voudrais copier les cellules de la colonne C à la colonne Q, et
commencer ma sélection à la ligne 4. mais je ne sais pas quels paramètres
changer.

Je vous remercie.
YANN
----------- dans mon module
'1. Création de la liste :
Sub CreationListe()
Dim Ligne As Integer
Ligne = 1
On Error Resume Next
Sheets("Recap").Activate
If Err <> 0 Then
Sheets.Add
ActiveSheet.Name = "Recap"
Sheets("Analyse 05").Select
For i = 0 To 300 Step 20
Range("D4").Offset(i, 0).Copy Sheets("Recap").Range("A" &
Ligne)
Ligne = Ligne + 1
Next i
End If
On Error GoTo 0
End Sub

'3. Module Routine :
Sub Routine(Var)
Sheets("Analyse 05").Select
Range("A" & Var & ":L" & Var + 18).Copy
Sheets("Recap").Select
Range("A20").Select
ActiveSheet.Paste
End Sub

---------------- Dans ma page "Recap"
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim Var
If Intersect(Target, Range("A1:A15")) Is Nothing Then Exit Sub
Application.EnableEvents = False
Var = Application.Match(Target.Value, Sheets("Analyse
05").Range("D:D"),
0)
Routine Var
Application.EnableEvents = True
End Sub









Avatar
YANN24
Daniel,
j'ai encore ce petit souci de décalage d'une ligne la zone à copier, et je
ne sais pas comment faire.
De plus, il faudrait que je puisse faire exactement la même liste sur les
colonnes Q et suivantes. Ext-ce possible? N'y aura-t-il pas de conflits?
je te remercie.
YANN


Bonjour,
j'ai eu un code par l'intermédiaire de Daniel la semaine dernière, et je
voudrais l'adapter. Le hic, c'est que je ne comprends pas les paramètres à
changer. Quelqu'un peut-il m'expliquer ?
1) je voudrais copier les valeurs et la mise en forme seulement.
2) je voudrais copier les cellules de la colonne C à la colonne Q, et
commencer ma sélection à la ligne 4. mais je ne sais pas quels paramètres
changer.

Je vous remercie.
YANN
----------- dans mon module
'1. Création de la liste :
Sub CreationListe()
Dim Ligne As Integer
Ligne = 1
On Error Resume Next
Sheets("Recap").Activate
If Err <> 0 Then
Sheets.Add
ActiveSheet.Name = "Recap"
Sheets("Analyse 05").Select
For i = 0 To 300 Step 20
Range("D4").Offset(i, 0).Copy Sheets("Recap").Range("A" & Ligne)
Ligne = Ligne + 1
Next i
End If
On Error GoTo 0
End Sub

'3. Module Routine :
Sub Routine(Var)
Sheets("Analyse 05").Select
Range("A" & Var & ":L" & Var + 18).Copy
Sheets("Recap").Select
Range("A20").Select
ActiveSheet.Paste
End Sub

---------------- Dans ma page "Recap"
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim Var
If Intersect(Target, Range("A1:A15")) Is Nothing Then Exit Sub
Application.EnableEvents = False
Var = Application.Match(Target.Value, Sheets("Analyse 05").Range("D:D"),
0)
Routine Var
Application.EnableEvents = True
End Sub




Avatar
YANN24
Re,
bon, pour le décalage d'1 ligne, j'ai compris ça marche.
Mais pour mettre 2 listes sur une page, comment faire?
Merci d'avance.
YANN


Daniel,
j'ai encore ce petit souci de décalage d'une ligne la zone à copier, et je
ne sais pas comment faire.
De plus, il faudrait que je puisse faire exactement la même liste sur les
colonnes Q et suivantes. Ext-ce possible? N'y aura-t-il pas de conflits?
je te remercie.
YANN


Bonjour,
j'ai eu un code par l'intermédiaire de Daniel la semaine dernière, et je
voudrais l'adapter. Le hic, c'est que je ne comprends pas les paramètres à
changer. Quelqu'un peut-il m'expliquer ?
1) je voudrais copier les valeurs et la mise en forme seulement.
2) je voudrais copier les cellules de la colonne C à la colonne Q, et
commencer ma sélection à la ligne 4. mais je ne sais pas quels paramètres
changer.

Je vous remercie.
YANN
----------- dans mon module
'1. Création de la liste :
Sub CreationListe()
Dim Ligne As Integer
Ligne = 1
On Error Resume Next
Sheets("Recap").Activate
If Err <> 0 Then
Sheets.Add
ActiveSheet.Name = "Recap"
Sheets("Analyse 05").Select
For i = 0 To 300 Step 20
Range("D4").Offset(i, 0).Copy Sheets("Recap").Range("A" & Ligne)
Ligne = Ligne + 1
Next i
End If
On Error GoTo 0
End Sub

'3. Module Routine :
Sub Routine(Var)
Sheets("Analyse 05").Select
Range("A" & Var & ":L" & Var + 18).Copy
Sheets("Recap").Select
Range("A20").Select
ActiveSheet.Paste
End Sub

---------------- Dans ma page "Recap"
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim Var
If Intersect(Target, Range("A1:A15")) Is Nothing Then Exit Sub
Application.EnableEvents = False
Var = Application.Match(Target.Value, Sheets("Analyse 05").Range("D:D"),
0)
Routine Var
Application.EnableEvents = True
End Sub






Avatar
Daniel
La routine suivante devrait le faire :

Sub Routine(Var)
Sheets("Analyse 05").Select
Range("C" & Var & ":Q" & Var + 18).Copy
Sheets("Recap").Select
Range("A20").Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:=
_
False, Transpose:úlse
Range("A20").Select
Selection.PasteSpecial Paste:=xlFormats, Operation:=xlNone, SkipBlanks:=
_
False, Transpose:úlse
Range("Q20").Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:=
_
False, Transpose:úlse
Range("Q20").Select
Selection.PasteSpecial Paste:=xlFormats, Operation:=xlNone, SkipBlanks:=
_
False, Transpose:úlse
'ActiveSheet.Paste
End Sub

A l'exception peut-être de ton problème de 1 ligne, à corriger.
Cordialement.
Daniel

"YANN24" a écrit dans le message de news:

Re,
bon, pour le décalage d'1 ligne, j'ai compris ça marche.
Mais pour mettre 2 listes sur une page, comment faire?
Merci d'avance.
YANN


Daniel,
j'ai encore ce petit souci de décalage d'une ligne la zone à copier, et
je
ne sais pas comment faire.
De plus, il faudrait que je puisse faire exactement la même liste sur les
colonnes Q et suivantes. Ext-ce possible? N'y aura-t-il pas de conflits?
je te remercie.
YANN


Bonjour,
j'ai eu un code par l'intermédiaire de Daniel la semaine dernière, et
je
voudrais l'adapter. Le hic, c'est que je ne comprends pas les
paramètres à
changer. Quelqu'un peut-il m'expliquer ?
1) je voudrais copier les valeurs et la mise en forme seulement.
2) je voudrais copier les cellules de la colonne C à la colonne Q, et
commencer ma sélection à la ligne 4. mais je ne sais pas quels
paramètres
changer.

Je vous remercie.
YANN
----------- dans mon module
'1. Création de la liste :
Sub CreationListe()
Dim Ligne As Integer
Ligne = 1
On Error Resume Next
Sheets("Recap").Activate
If Err <> 0 Then
Sheets.Add
ActiveSheet.Name = "Recap"
Sheets("Analyse 05").Select
For i = 0 To 300 Step 20
Range("D4").Offset(i, 0).Copy Sheets("Recap").Range("A" &
Ligne)
Ligne = Ligne + 1
Next i
End If
On Error GoTo 0
End Sub

'3. Module Routine :
Sub Routine(Var)
Sheets("Analyse 05").Select
Range("A" & Var & ":L" & Var + 18).Copy
Sheets("Recap").Select
Range("A20").Select
ActiveSheet.Paste
End Sub

---------------- Dans ma page "Recap"
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim Var
If Intersect(Target, Range("A1:A15")) Is Nothing Then Exit Sub
Application.EnableEvents = False
Var = Application.Match(Target.Value, Sheets("Analyse
05").Range("D:D"),
0)
Routine Var
Application.EnableEvents = True
End Sub








1 2