OVH Cloud OVH Cloud

Saisie de données là où il y en a

9 réponses
Avatar
Érico
Bonjour,

Est-ce possible de faire une macro suivante:

J'ai ma colonne "C" qui est le numéro de projet et la colonne "M" pour la
réclamation

C M
123-C-12345 245$
122-C-54321
345-C-22122 345$
121-C-12121

Comme vous voyez, ils n'y a pas toujours des réclamations dans la colonne
"M".

J'ai faire apparaitre sur un autre onglet, seulement ces deux colonnes, là
où il y a des réclamations:

Voici le résultat:

A B C
123-C-12345 245$ 22 novembre 2005
345-C-22122 345$ 22 novembre 2005

Et un ti-boute de temps après, de faire la même procédure et de les rajoutés
en desssous de ceux-là.

(Note: Ma sélection de la colonne "A" est "Projet" et la colonne "M" est
"Reclamation"

Merci

Érico de Montréal, "Vive les Français"

9 réponses

Avatar
Daniel
Bonjour.
Essaie :

Sub test()
Dim PlageC As Range, c As Range, plageA As Range, Ligne As Long
Sheets("Feuil2").Select
If [A1] = "" Then
Ligne = 1
Else
Ligne = Range("A1").End(xlDown).Row + 1
End If
Sheets("Feuil1").Select
Set PlageC = Range("C1", Range("C65536").End(xlUp))
Set plageA = Sheets("Feuil2").Range("A:A")
For Each c In PlageC
If IsError(Application.Match(c.Value, plageA, 0)) _
And c.Offset(0, 10).Value <> "" Then
Sheets("Feuil2").Range("A" & Ligne).Value = c.Value
Sheets("Feuil2").Range("B" & Ligne).Value = c.Offset(0,
10).Value
Sheets("Feuil2").Range("C" & Ligne).Value = Date
Ligne = Ligne + 1
End If
Next c
End Sub

Cordialement.
Daniel
"Érico" a écrit dans le message de news:

Bonjour,

Est-ce possible de faire une macro suivante:

J'ai ma colonne "C" qui est le numéro de projet et la colonne "M" pour la
réclamation

C M
123-C-12345 245$
122-C-54321
345-C-22122 345$
121-C-12121

Comme vous voyez, ils n'y a pas toujours des réclamations dans la colonne
"M".

J'ai faire apparaitre sur un autre onglet, seulement ces deux colonnes, là
où il y a des réclamations:

Voici le résultat:

A B C
123-C-12345 245$ 22 novembre 2005
345-C-22122 345$ 22 novembre 2005

Et un ti-boute de temps après, de faire la même procédure et de les
rajoutés en desssous de ceux-là.

(Note: Ma sélection de la colonne "A" est "Projet" et la colonne "M" est
"Reclamation"

Merci

Érico de Montréal, "Vive les Français"



Avatar
Érico
Non, ça ne fonctionne pas...

J'ai inversé les noms des feuilles, pas mieux.
J'ai ceci:
___________________________________________________________
Sub test()
Dim PlageC As Range, c As Range, plageA As Range, Ligne As Long
Sheets("Annexe_1.5").Select
If [A1] = "" Then
Ligne = 1
Else
Ligne = Range("A1").End(xlDown).Row + 1
End If
Sheets("Saisie").Select
Set PlageC = Range("C1", Range("C65536").End(xlUp))
Set plageA = Sheets("Annexe_1.5").Range("A:A")
For Each c In PlageC
If IsError(Application.Match(c.Value, plageA, 0)) _
And c.Offset(0, 10).Value <> "" Then
Sheets("Annexe_1.5").Range("A" & Ligne).Value = c.Value
Sheets("Annexe_1.5").Range("B" & Ligne).Value = c.Offset(0,
10).Value
Sheets("Annexe_1.5").Range("C" & Ligne).Value = Date
Ligne = Ligne + 1
End If
Next c
End Sub
______________________________________________________________




"Daniel" a écrit dans le message de news:
OJTi$
Bonjour.
Essaie :

Sub test()
Dim PlageC As Range, c As Range, plageA As Range, Ligne As Long
Sheets("Feuil2").Select
If [A1] = "" Then
Ligne = 1
Else
Ligne = Range("A1").End(xlDown).Row + 1
End If
Sheets("Feuil1").Select
Set PlageC = Range("C1", Range("C65536").End(xlUp))
Set plageA = Sheets("Feuil2").Range("A:A")
For Each c In PlageC
If IsError(Application.Match(c.Value, plageA, 0)) _
And c.Offset(0, 10).Value <> "" Then
Sheets("Feuil2").Range("A" & Ligne).Value = c.Value
Sheets("Feuil2").Range("B" & Ligne).Value = c.Offset(0,
10).Value
Sheets("Feuil2").Range("C" & Ligne).Value = Date
Ligne = Ligne + 1
End If
Next c
End Sub

Cordialement.
Daniel
"Érico" a écrit dans le message de news:

Bonjour,

Est-ce possible de faire une macro suivante:

J'ai ma colonne "C" qui est le numéro de projet et la colonne "M" pour la
réclamation

C M
123-C-12345 245$
122-C-54321
345-C-22122 345$
121-C-12121

Comme vous voyez, ils n'y a pas toujours des réclamations dans la colonne
"M".

J'ai faire apparaitre sur un autre onglet, seulement ces deux colonnes,
là où il y a des réclamations:

Voici le résultat:

A B C
123-C-12345 245$ 22 novembre 2005
345-C-22122 345$ 22 novembre 2005

Et un ti-boute de temps après, de faire la même procédure et de les
rajoutés en desssous de ceux-là.

(Note: Ma sélection de la colonne "A" est "Projet" et la colonne "M" est
"Reclamation"

Merci

Érico de Montréal, "Vive les Français"







Avatar
Daniel
Regarde le classeur à l'adresse suivante, j'ai peut-être mal compris ce que
tu voulais.
http://cjoint.com/?lwwikUs5WF
Daniel
"Érico" a écrit dans le message de news:

Non, ça ne fonctionne pas...

J'ai inversé les noms des feuilles, pas mieux.
J'ai ceci:
___________________________________________________________
Sub test()
Dim PlageC As Range, c As Range, plageA As Range, Ligne As Long
Sheets("Annexe_1.5").Select
If [A1] = "" Then
Ligne = 1
Else
Ligne = Range("A1").End(xlDown).Row + 1
End If
Sheets("Saisie").Select
Set PlageC = Range("C1", Range("C65536").End(xlUp))
Set plageA = Sheets("Annexe_1.5").Range("A:A")
For Each c In PlageC
If IsError(Application.Match(c.Value, plageA, 0)) _
And c.Offset(0, 10).Value <> "" Then
Sheets("Annexe_1.5").Range("A" & Ligne).Value = c.Value
Sheets("Annexe_1.5").Range("B" & Ligne).Value = c.Offset(0,
10).Value
Sheets("Annexe_1.5").Range("C" & Ligne).Value = Date
Ligne = Ligne + 1
End If
Next c
End Sub
______________________________________________________________




"Daniel" a écrit dans le message de news:
OJTi$
Bonjour.
Essaie :

Sub test()
Dim PlageC As Range, c As Range, plageA As Range, Ligne As Long
Sheets("Feuil2").Select
If [A1] = "" Then
Ligne = 1
Else
Ligne = Range("A1").End(xlDown).Row + 1
End If
Sheets("Feuil1").Select
Set PlageC = Range("C1", Range("C65536").End(xlUp))
Set plageA = Sheets("Feuil2").Range("A:A")
For Each c In PlageC
If IsError(Application.Match(c.Value, plageA, 0)) _
And c.Offset(0, 10).Value <> "" Then
Sheets("Feuil2").Range("A" & Ligne).Value = c.Value
Sheets("Feuil2").Range("B" & Ligne).Value = c.Offset(0,
10).Value
Sheets("Feuil2").Range("C" & Ligne).Value = Date
Ligne = Ligne + 1
End If
Next c
End Sub

Cordialement.
Daniel
"Érico" a écrit dans le message de news:

Bonjour,

Est-ce possible de faire une macro suivante:

J'ai ma colonne "C" qui est le numéro de projet et la colonne "M" pour
la réclamation

C M
123-C-12345 245$
122-C-54321
345-C-22122 345$
121-C-12121

Comme vous voyez, ils n'y a pas toujours des réclamations dans la
colonne "M".

J'ai faire apparaitre sur un autre onglet, seulement ces deux colonnes,
là où il y a des réclamations:

Voici le résultat:

A B C
123-C-12345 245$ 22 novembre 2005
345-C-22122 345$ 22 novembre 2005

Et un ti-boute de temps après, de faire la même procédure et de les
rajoutés en desssous de ceux-là.

(Note: Ma sélection de la colonne "A" est "Projet" et la colonne "M" est
"Reclamation"

Merci

Érico de Montréal, "Vive les Français"











Avatar
Érico
il me dit que l'indice n'appartient pas à la sélection.

Peut-être a cause que la sélection doit commencer à la ligne 17 à 34, 36 à
52 et 56 à 74.

Est-ce possible de lui donner la date de la cellule D8

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

Regarde le classeur à l'adresse suivante, j'ai peut-être mal compris ce
que tu voulais.
http://cjoint.com/?lwwikUs5WF
Daniel
"Érico" a écrit dans le message de news:

Non, ça ne fonctionne pas...

J'ai inversé les noms des feuilles, pas mieux.
J'ai ceci:
___________________________________________________________
Sub test()
Dim PlageC As Range, c As Range, plageA As Range, Ligne As Long
Sheets("Annexe_1.5").Select
If [A1] = "" Then
Ligne = 1
Else
Ligne = Range("A1").End(xlDown).Row + 1
End If
Sheets("Saisie").Select
Set PlageC = Range("C1", Range("C65536").End(xlUp))
Set plageA = Sheets("Annexe_1.5").Range("A:A")
For Each c In PlageC
If IsError(Application.Match(c.Value, plageA, 0)) _
And c.Offset(0, 10).Value <> "" Then
Sheets("Annexe_1.5").Range("A" & Ligne).Value = c.Value
Sheets("Annexe_1.5").Range("B" & Ligne).Value = c.Offset(0,
10).Value
Sheets("Annexe_1.5").Range("C" & Ligne).Value = Date
Ligne = Ligne + 1
End If
Next c
End Sub
______________________________________________________________




"Daniel" a écrit dans le message de news:
OJTi$
Bonjour.
Essaie :

Sub test()
Dim PlageC As Range, c As Range, plageA As Range, Ligne As Long
Sheets("Feuil2").Select
If [A1] = "" Then
Ligne = 1
Else
Ligne = Range("A1").End(xlDown).Row + 1
End If
Sheets("Feuil1").Select
Set PlageC = Range("C1", Range("C65536").End(xlUp))
Set plageA = Sheets("Feuil2").Range("A:A")
For Each c In PlageC
If IsError(Application.Match(c.Value, plageA, 0)) _
And c.Offset(0, 10).Value <> "" Then
Sheets("Feuil2").Range("A" & Ligne).Value = c.Value
Sheets("Feuil2").Range("B" & Ligne).Value = c.Offset(0,
10).Value
Sheets("Feuil2").Range("C" & Ligne).Value = Date
Ligne = Ligne + 1
End If
Next c
End Sub

Cordialement.
Daniel
"Érico" a écrit dans le message de news:

Bonjour,

Est-ce possible de faire une macro suivante:

J'ai ma colonne "C" qui est le numéro de projet et la colonne "M" pour
la réclamation

C M
123-C-12345 245$
122-C-54321
345-C-22122 345$
121-C-12121

Comme vous voyez, ils n'y a pas toujours des réclamations dans la
colonne "M".

J'ai faire apparaitre sur un autre onglet, seulement ces deux colonnes,
là où il y a des réclamations:

Voici le résultat:

A B C
123-C-12345 245$ 22 novembre 2005
345-C-22122 345$ 22 novembre 2005

Et un ti-boute de temps après, de faire la même procédure et de les
rajoutés en desssous de ceux-là.

(Note: Ma sélection de la colonne "A" est "Projet" et la colonne "M"
est "Reclamation"

Merci

Érico de Montréal, "Vive les Français"















Avatar
Daniel
Peut-être a cause que la sélection doit commencer à la ligne 17 à 34, 36 à
52 et 56 à 74.

Sans doute, mais, si tu ne dis pas tout !


Est-ce possible de lui donner la date de la cellule D8

Mais bien sûr !

regarde là :
http://cjoint.com/?lwwUhau8sa
Daniel

Avatar
Érico
Salut Daniel,

ça ne fonctionne pas du tout.
Mais ça fonctionne dans ton fichier joint.

Je te l'ai envoyé par courriel, trop gros pour www.cjoint.com





"Daniel" a écrit dans le message de news:
%

Peut-être a cause que la sélection doit commencer à la ligne 17 à 34, 36
à
52 et 56 à 74.

Sans doute, mais, si tu ne dis pas tout !


Est-ce possible de lui donner la date de la cellule D8

Mais bien sûr !

regarde là :
http://cjoint.com/?lwwUhau8sa
Daniel




Avatar
Érico
Je sais pourquoi, j'ai des recherche vertical dans chacune des cellules.

Comment contourner ce problème?

Merci beaucoup



"Érico" a écrit dans le message de news:

Salut Daniel,

ça ne fonctionne pas du tout.
Mais ça fonctionne dans ton fichier joint.

Je te l'ai envoyé par courriel, trop gros pour www.cjoint.com





"Daniel" a écrit dans le message de news:
%

Peut-être a cause que la sélection doit commencer à la ligne 17 à 34, 36
à
52 et 56 à 74.

Sans doute, mais, si tu ne dis pas tout !


Est-ce possible de lui donner la date de la cellule D8

Mais bien sûr !

regarde là :
http://cjoint.com/?lwwUhau8sa
Daniel








Avatar
Érico
Comment rendre ceci en collage spécial / valeur, puisque ce sont des
fonctions (RechecheV)

J'ai trouvé ça comme collage spécial:
'Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:úlse

Et voici ma macro:
_________________________________________________________________
Sub test()
Dim PlageC As Range, c As Range, plageA As Range, Ligne As Long
Sheets("Feuil2").Select
If [A1] = "" Then
Ligne = 1
Else
Ligne = Range("A1").End(xlDown).Row + 1
End If
Sheets("Feuil1").Select
Set PlageC = Union(Range("C17:C34"), Range("C36:C52"), Range("C56:C74"))
Set plageA = Sheets("Feuil2").Range("A:A")
For Each c In PlageC
If IsError(Application.Match(c.Value, plageA, 0)) _
And c.Offset(0, 10).Value <> "" And c.Value <> "" Then
Sheets("Feuil2").Range("A" & Ligne).Value = c.Value
Sheets("Feuil2").Range("B" & Ligne).Value = c.Offset(0,
10).Value
Sheets("Feuil2").Range("C" & Ligne).Value =
Sheets("Feuil2").Range("D8").Value
Ligne = Ligne + 1
End If
Next c
End Sub
_________________________________________________________________________
"Érico" a écrit dans le message de news:

Je sais pourquoi, j'ai des recherche vertical dans chacune des cellules.

Comment contourner ce problème?

Merci beaucoup



"Érico" a écrit dans le message de news:

Salut Daniel,

ça ne fonctionne pas du tout.
Mais ça fonctionne dans ton fichier joint.

Je te l'ai envoyé par courriel, trop gros pour www.cjoint.com





"Daniel" a écrit dans le message de news:
%

Peut-être a cause que la sélection doit commencer à la ligne 17 à 34,
36 à
52 et 56 à 74.

Sans doute, mais, si tu ne dis pas tout !


Est-ce possible de lui donner la date de la cellule D8

Mais bien sûr !

regarde là :
http://cjoint.com/?lwwUhau8sa
Daniel












Avatar
Daniel
Je suis un peu perdu. Quelle est la feuille source et quelle est la feuille
cible ?
Daniel
"Érico" a écrit dans le message de news:

Comment rendre ceci en collage spécial / valeur, puisque ce sont des
fonctions (RechecheV)

J'ai trouvé ça comme collage spécial:
'Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:úlse

Et voici ma macro:
_________________________________________________________________
Sub test()
Dim PlageC As Range, c As Range, plageA As Range, Ligne As Long
Sheets("Feuil2").Select
If [A1] = "" Then
Ligne = 1
Else
Ligne = Range("A1").End(xlDown).Row + 1
End If
Sheets("Feuil1").Select
Set PlageC = Union(Range("C17:C34"), Range("C36:C52"),
Range("C56:C74"))
Set plageA = Sheets("Feuil2").Range("A:A")
For Each c In PlageC
If IsError(Application.Match(c.Value, plageA, 0)) _
And c.Offset(0, 10).Value <> "" And c.Value <> "" Then
Sheets("Feuil2").Range("A" & Ligne).Value = c.Value
Sheets("Feuil2").Range("B" & Ligne).Value = c.Offset(0,
10).Value
Sheets("Feuil2").Range("C" & Ligne).Value =
Sheets("Feuil2").Range("D8").Value
Ligne = Ligne + 1
End If
Next c
End Sub
_________________________________________________________________________
"Érico" a écrit dans le message de news:

Je sais pourquoi, j'ai des recherche vertical dans chacune des cellules.

Comment contourner ce problème?

Merci beaucoup



"Érico" a écrit dans le message de news:

Salut Daniel,

ça ne fonctionne pas du tout.
Mais ça fonctionne dans ton fichier joint.

Je te l'ai envoyé par courriel, trop gros pour www.cjoint.com





"Daniel" a écrit dans le message de news:
%

Peut-être a cause que la sélection doit commencer à la ligne 17 à 34,
36 à
52 et 56 à 74.

Sans doute, mais, si tu ne dis pas tout !


Est-ce possible de lui donner la date de la cellule D8

Mais bien sûr !

regarde là :
http://cjoint.com/?lwwUhau8sa
Daniel