Si dans une plage alors copier le résultat dans une autre feuille [Résolu]

Signaler
Messages postés
14
Date d'inscription
mercredi 23 septembre 2020
Statut
Membre
Dernière intervention
26 octobre 2020
-
Messages postés
14
Date d'inscription
mercredi 23 septembre 2020
Statut
Membre
Dernière intervention
26 octobre 2020
-
Bonjour,

Après un lavage de cerveau intense je ne trouve pas la solution.

Je cherche à à faire ceci:
Si dans une plage C22:C150 il y a en 3 eme et 4ème caractère « 01 » alors copier le résultat dans un tableau d’une autre feuille.

Pour être plus précis, ma plage va changer 2 fois par semaine donc je veux compiler les résultats dans une autre feuilles en fonction des résultats et incrémenter un tableau dans la première colonne vide à droite.

J’espère être suffisamment clair ????

Merci pour votre aide

Configuration: iPhone / Safari 13.1.2

6 réponses

Messages postés
16279
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
30 octobre 2020
3 056
Bonjour,
J’espère être suffisamment clair ????
Loupé !


ma plage va changer 2 fois par semaine donc je veux compiler les résultats dans une autre feuilles en fonction des résultats et incrémenter un tableau dans la première colonne vide à droite.

les résultats de quoi?

peut-^tre qu' avec le classeur joint, on pourrait comprendre ton énigme
M
ettre le classeur sans données confidentielles en pièce jointe sur 
https://mon-partage.fr
Dans lien de téléchargement
faire un clic droit- copier l’adresse du lien et le coller dans votre message en cours sur ccm




Messages postés
14
Date d'inscription
mercredi 23 septembre 2020
Statut
Membre
Dernière intervention
26 octobre 2020

Argggg
Je ne peux malheureusement pas envoyer le fichier car je suis sur un post professionnel et sans réseau internet avec une protection défense.

Je vais tenter d’être plus clair.
Quand je parle du résultat je me suis mal exprimé Je veux parler des données dans cette plage.

Le contenu de cette plage va être renouvelée 2 fois par semaine. Mais J’aimerais avant le changement, conserver le contenu dans dans un tableau d’une autre feuille.

J’espère que ce soit plus limpide ????
Messages postés
16279
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
30 octobre 2020
3 056
OK
mais ta boutique autorise t'elle les macros ?

01 dans 3°ET 4° caractère ?
ou
01 dans 3°OU 4° caractère ?

si tu pouvais donner un exemple bidon de 2 ou 3lignes, ca aiderait beaucoup !!!

sur la feuille cible, on recopie a partir de la ligne 22 ?

Ca change toute les semaines, il y a t'il à inscrire une indication de date ( par ex n° de semaine en cours ou jour mois année) dans la feuille cible en ent^te


Messages postés
14
Date d'inscription
mercredi 23 septembre 2020
Statut
Membre
Dernière intervention
26 octobre 2020

- Alors oui les macros sont autorisés
- 01 dans les 3 ET 4 eme caractère
Exemple:
Dans la plage C22:C150
J’ai
0102L2
0103M4
0201H19
0401D2
0603V20

Je veux donc que les 2 codes ayant pour 3 eme et 4 eme caractère « 01 » (0201H19 et 0401D2) Ce copie dans un tableau d’une autre feuille et à chaque fois dans une nouvelle colonne.

- sur la feuille cible on recopie en Z30
- effectivement dans la colonne cible on peut mettre un numéro d’ordre genre 1; 2 ; 3....

Voilà j’espère que ça réponds aux différentes questions
Messages postés
16279
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
30 octobre 2020
3 056
Bonjour,
j'ai une solution a te proposer par VBA: toujours intéressé?
si oui, fais signe
je la finaliserais demain
Messages postés
14
Date d'inscription
mercredi 23 septembre 2020
Statut
Membre
Dernière intervention
26 octobre 2020

Bonjour,
Oui bien sûr, merci pour le temps passé ????
Messages postés
16279
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
30 octobre 2020
3 056 >
Messages postés
14
Date d'inscription
mercredi 23 septembre 2020
Statut
Membre
Dernière intervention
26 octobre 2020

le principe (formule)

=SI(CHERCHE("01";C24) =4;"gagné" ;"")
Messages postés
16279
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
30 octobre 2020
3 056
Bonjour,

comme promis, proposition
https://mon-partage.fr/f/zimnRbQQ/

le code
Option Explicit
Option Base 1
'-------------------------------------------------
Sub Copier_si_01()
Dim Derlig As Byte, T_in, Cptr1 As Byte
Dim T_out, Cptr2 As Byte, Col As Byte

'------------feuille1
Derlig = Columns("C").Find(what:="*", searchdirection:=xlPrevious).Row
T_in = Sheets(1).Range("C22:C" & Derlig) 'mémorisation en Ram des données à tester
ReDim T_out(129, 1) 'config variable-tableau résultats
'--------------Action
For Cptr1 = 1 To UBound(T_in)
On Error GoTo 1 '01" absent en 3-4
If Application.Search("01", T_in(Cptr1, 1)) = 3 Then 'valide si "01" en position 3 et 4
Cptr2 = Cptr2 + 1
T_out(Cptr2, 1) = T_in(Cptr1, 1) 'mémorisation en Ram données valides
End If
1:
Next

'-----------feuille2
With Sheets(2)
'localisation colonne restitution
If .Range("Z30") = "" Then
Col = 26
Else
Col = .Rows(30).Find(what:="*", searchdirection:=xlPrevious).Column + 1
'restitution
End If
'restitution
.Cells(30, Col).Resize(129, 1) = T_out
'encadrements
.Cells(30, Col).Resize(129, 1).Borders.Weight = xlThin
'présentation
.Activate
End With
End Sub
]


Errata
en "On Error GoTo 1 '01" absent en 3-4"
lire
"On Error GoTo 1 '01" absent

Messages postés
14
Date d'inscription
mercredi 23 septembre 2020
Statut
Membre
Dernière intervention
26 octobre 2020

Merci beaucoup je test et je vous dis ????
Messages postés
16279
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
30 octobre 2020
3 056 >
Messages postés
14
Date d'inscription
mercredi 23 septembre 2020
Statut
Membre
Dernière intervention
26 octobre 2020

Par contre, je trouve que ce serait interessant de marquer la date du jour en Z29 ou Z30
Messages postés
14
Date d'inscription
mercredi 23 septembre 2020
Statut
Membre
Dernière intervention
26 octobre 2020
>
Messages postés
16279
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
30 octobre 2020

Oui si c’est faisable je n’y vois aucun inconvénient, je cherche juste la simplicité.
Messages postés
14
Date d'inscription
mercredi 23 septembre 2020
Statut
Membre
Dernière intervention
26 octobre 2020

Alors je l’ai adapter avec mes noms de feuilles et les cellules précises. Mais au lancement il me met un message d’erreur:
Erreur d’exécution 13
Incompatibilité de type

Quand je clique sur déboggage, j’ai une ligne en surbrillance:
If Application.Search("01", T_in(Cptr1, 1)) = 3 Then 'valide si "01" en position 3 et 4

Je sens que c’est pas loin mais je ne maîtrise pas suffisamment le VBA pour dépanner ça ????
Messages postés
16279
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
30 octobre 2020
3 056
Je viens d'essayer, je n'ai pas de problème



dans la fen^tre "espions" le compteut= Cptr1 indique 6 ==> on a parcouru les 5 données de départ et on attaque la restitution
clique sur la photo pour agrandir

Messages postés
16279
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
30 octobre 2020
3 056
MERCI !

de rien...

Adieu
Messages postés
14
Date d'inscription
mercredi 23 septembre 2020
Statut
Membre
Dernière intervention
26 octobre 2020
>
Messages postés
16279
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
30 octobre 2020

Merci je vais réessayer je vous tiens au courant .
Messages postés
14
Date d'inscription
mercredi 23 septembre 2020
Statut
Membre
Dernière intervention
26 octobre 2020

Bonjour,
Après plusieurs essais impossible de le faire fonctionner.
Je ne comprends pas le problème et ne maîtrise pas suffisamment le VBA pour débogguer ça.
Merci quand même pour le temps passé