Verification le contenu d'une cellule et la modifier

Bonjour la famille

Je suis debutant en VBA et du coup mes questions vous parait peut-etre debiles et faciles à résoudre.

J'ai un fichier excel qui contient plusieurs informations:

Mon objectif est de creer une macro qui me sert:

- l'utilisateur entre le mot à chercher. la macro cherche le mot dans la colonne 2 de la 1ere feuille et puis elle copie l'information qui se trouve dans la meme ligne mais à la colonne n-1.

Cette information sera par la suite incrementé dans la 2eme fois. cette incrementation se base sur la verification du contenu de chaque cellule. Lorsque on trouve le mot, on l'ajoute au contenu du la case

J'ai bidouillé un peu mais je sais pas si je suis dans le bon chemin ou pas

Sub exemple()

Dim mot_cherche As String

Dim i, j As Integer

i = 2

j = 2

mot_cherche = InputBox("Libellé a verifié ?", "Titre") 'introduire le libellé à chercher

Worksheets("CCL").Activate ' activer la feuille CCL

While i < 1000

If mot_cherche <> Range("B" & i).Value Then ' si le libellé n'est pas trouvé dans la ligne 2 colonne 2 on passe à la ligne 3

i = i + 1

End If

Cells("A" & i).Select ' selectionner la colonne qui précede en restant dans la meme ligne

Wend

Worksheets("delivrables").Activate

While j < 1000

'je veux chercher le mot_cherche dans delivrables et remplacer la partie gauche par la valeur de Range ("A"&i)

A = Range("C" & j).Value

Cells.Find(A, , delivrables) = Range

Cells("C", j) = Replace(Range(A), Left(Ragne(A), 5), Range("A" & i))

j = j + 1

Wend

End Sub

Je compte sur votre gentillesse et votre savoir faire pour me débuguer. Je suis bloqué depuis plusieurs

Merciiii

Bonjour

Plutôt qu'une boucle il vaut mieux utiliser Find plus rapide.

Cells("A" & i) n'existe pas : soit c'est Range("A" & i) soit Cells(i,1)

Pour se décaler utiliser Offset

Connais-tu tous les outils de debugging existant dans Excel ? IL faut commencer par là pour déjà corriger tes erreurs de syntaxe

Bonjour

Plutôt qu'une boucle il vaut mieux utiliser Find plus rapide.

Cells("A" & i) n'existe pas : soit c'est Range("A" & i) soit Cells(i,1)

Pour se décaler utiliser Offset

Connais-tu tous les outils de debugging existant dans Excel ? IL faut commencer par là pour déjà corriger tes erreurs de syntaxe

Non au fait ça fait qu'une semaine que je me mets en VBA.

Concernant la fonction Find. Est ce qu'elle detecte tous ce que je cherche ou seulement que la premiere fois?

Bonjour

En relisant et ton explication et ton code , rien n'est clair

Tu cherches un mot dans la colonne B de la feuille CCL,

une fois trouvé tu sélectionnes la cellule à sa gauche mais ton code ne fait rien de plus

Après ce que tu fais dans delivrables est encore moins clair

Peux-tu repréciser en Français avec un cas précis ce que tu veux obtenir...

Bonjour

En relisant et ton explication et ton code , rien n'est clair

Tu cherches un mot dans la colonne B de la feuille CCL,

une fois trouvé tu sélectionnes la cellule à sa gauche mais ton code ne fait rien de plus

Après ce que tu fais dans delivrables est encore moins clair

Peux-tu repréciser en Français avec un cas précis ce que tu veux obtenir...

Je m'excuse pour la facon dont je me suis exprimée:

Je vous explique en illustrant un exemple

j'ai comme donnée: cockpits control panel

Je cherche cette information dans la colonne 2 du CCL aprés je selectionne JAR 25.777 (la cellule à sa gauche)

Apres je reviens sur la feuille Delivrables et j'introduit JAR25.777 devant cockipts control panel

Re

Pour Delivrables est-ce seulement si "cockipts control panel" est seul ou même s'il y a déjà JAR... ou autre avant dans la cellule ?

"cockipts control panel" ne figure pas actuellement dans CCL (seulement cockipts control). Est-il unique le cas échéant ?

Re

Pour Delivrables est-ce seulement si "cockipts control panel" est seul ou même s'il y a déjà JAR... ou autre avant dans la cellule ?

"cockipts control panel" ne figure pas actuellement dans CCL (seulement cockipts control). Est-il unique le cas échéant ?

Désolé, au fait je voulais dire cockpits control.

Pour Delivrables, meme s'il ya déja JAR ou autre avant dans la cellule.

Mon but est de remplacer le 1er mot JAR..... par celui que j'ai trouvé dans CCL.

RE

Qu'aura t'on pour

JAR25.777 (c) (g) Cockpit controls

et pour

CS25.777 (c) (g) Cockpit Controls

avec des espaces inutiles devant (il existe l'indentation dans Excel pour décaler. Avec des espaces tu compliques nettement la gestion...)

sachant qu'on aura trouvé

JAR 25.777

change 13

avec un saut de ligne dedans !

RE

Qu'aura t'on pour

JAR25.777 (c) (g) Cockpit controls

et pour

CS25.777 (c) (g) Cockpit Controls

avec des espaces inutiles devant (il existe l'indentation dans Excel pour décaler. Avec des espaces tu compliques nettement la gestion...)

sachant qu'on aura trouvé

JAR 25.777

change 13

avec un saut de ligne dedans !

Re,

Les espaces et change13 devraient etre supprimés dans le fichier de base.

La macro me sert de detecter le probleme que vous avez rencontré ( avoir deux references pour Cockpit controls) et demander aux utilisateurs de verifier ou d'ajouter ce qu'on trouve avec une couleur differente.

Je sais que c'est un peu confus et pas trop evident et je compte sur vous pour me faire sortir de la boue

RE

Cela ne me dit pas ce que le macro doit faire pour les 2 cas cités...

RE

Cela ne me dit pas ce que le macro doit faire pour les 2 cas cités...

on peut faire sortir un message d'erreur.

Qu'en pensez vous?

on utilise Msgbox "erreur, plus d'une reference pour le meme libellé"

Bonjour

On veut bien t'aider mais il faudrait que tu décrives le processus complet sans que l'on ait besoin de te poser 1000 et 1 questions.

On cherche un mot, dans CCL et on prend la mention à gauche : es-tu sûr que le cas sera bien unique sur CCL

On passe sur deliverables, on cherche le même mot pour le faire précéder de cette mention.

Mais là il y a déjà quelque chose devant le mot, qu'il faut remplacer mais d'abord on vérifie s'il y a plusieurs exemplaires du mot et si pas seulement le mot mais toute les cellules qui le contiennent sont identiques ou pas et si non on ne fait rien à part un message d'erreur et sinon on les change toutes...

On en est là si j'ai bien compris.

Ne faudrait t'il pas faire le contraire : vérifier deliverables avant ?

Bonjour

On veut bien t'aider mais il faudrait que tu décrives le processus complet sans que l'on ait besoin de te poser 1000 et 1 questions.

On cherche un mot, dans CCL et on prend la mention à gauche : es-tu sûr que le cas sera bien unique sur CCL

On passe sur deliverables, on cherche le même mot pour le faire précéder de cette mention.

Mais là il y a déjà quelque chose devant le mot, qu'il faut remplacer mais d'abord on vérifie s'il y a plusieurs exemplaires du mot et si pas seulement le mot mais toute les cellules qui le contiennent sont identiques ou pas et si non on ne fait rien à part un message d'erreur et sinon on les change toutes...

On en est là si j'ai bien compris.

Ne faudrait t'il pas faire le contraire : vérifier deliverables avant ?

Bonjour ,

J'apprecie vraiment votre aide et votre soutien

Oui, on peut poser le probleme d'une autre façon: On cherche un mot dans Delivrables et s'il y a plusieurs exemplaires du mot on notifie l'utilisateur si on veut remplacer JAR... par la mention à gauche qu'on a trouvé en CCL. Càd, si on prend la cellule de delivrables JAR25.777 (c) (g) Cockpit controls et j'ai trouvé par exple JAR25.963 en CCL la cellule devient JAR25.963 (c) (g) Cockpit controls

J'ai balayé CCL et on peut trouver qu'un unique libellé pour chaque mot.

Je m'excuse pour la casse tete que je vous ai causé

Bonjour Chris,

Je reviens vers toi sur le sujet de la macro qui me cause des cauchemards et que je risque de me faire taper sur les doigts à cause d'elle!

Stp pourrais tu me guider et me faciliter le chemin afin que je puisse débloquer la situation.

Je compte trop sur ta comprehension.

Merci beaucoup par avance

Rechercher des sujets similaires à "verification contenu modifier"