Résultats pour "rechercher valeur existante concatener"

6'084 résultats pour cette recherche

Bonjour,

J'ai créé un Userform dans lequel on saisie la date (TextBox23) puis

  • soit on choisit un pays (dans une ListBox1) et la quantité (Textbox25)
  • soit on choisit "France" (dans la même ListBox1) et on saisie le n° de département (TextBox24) et la quantité (Textbox25)

Les données s'enregistrent alors dans une base de données et :

  • en colonne A on trouve le concatener de la date+pays
  • en colonne B on trouve le concatener de la date+département

Je cherche à vérifier si a cette date l'enregistrement a déjà été réalisé.

J'ai donc mis ce bout de code mais ca ne trouve jamais de données alors que je suis sûr que ca existe déjà

(Code en bas du message)

Où se trouve mon erreur ? (qui doit être devant mes yeux )

Un grand merci pour votre aide,

Bonne journée, Bon weekend

Loic

Dim i, x As Long
x = Cells(1, 2).End(xlDown).Row
Dim strSearch2 As String
strSearch2 = CLng(CDate(TextBox23.Value)) & "" & TextBox24.Value
If ListBox1 = "France" Then
For i = 1 To x
If Cells(i, 2).Value = strSearch2 Then
    MsgBox "Département déjà enregistré pour la journée du " & TextBox23.Value
    Me.TextBox24.Value = 0
    Me.TextBox25.Value = 0
    End If
Next i
Exit Sub
End If
Dim i2, x2 As Long
x2 = Cells(1, 2).End(xlDown).Row
Dim strSearch3 As String
strSearch3 = CLng(CDate(TextBox23.Value)) & "" & ListBox1.Value
If ListBox1 = "France" Then
For i2 = 1 To x
If Cells(i2, 2).Value = strSearch3 Then
    MsgBox "Pays déjà enregistré pour la journée du " & TextBox23.Value
    Me.TextBox24.Value = 0
    Me.TextBox25.Value = 0
    End If
Next i2
Exit Sub
End If

Bonjour à tous,

Je suis sur la version 15.38 d'Excel sous mac et cherche à réaliser la tache suivante :
Réaliser un copier coller uniquement des cellules filtrées.

Le problème étant que pour se faire, j'ai besoin de la fonction "Rechercher et Sélectionner". Hors impossible de trouver cette dernière sur Excel (ce que je trouve complètement ouf au passage). Cf imprim écran ci dessous :

capture d e cran 2020 06 29 a 12 25 56

Quelqu'un aurait il une quelconque solution, soit pour faire apparaitre cette fonction ... soit pour que je puisse copier coller les cellules fixés de manière simple ?

Je vous remercie par avance pour le support que vous concédez à m'apporter.

Bonjour,

Depuis ce matin je cherche une solution à mon problème mais me rend compte que je suis vraiment trop nul sur Excel, malgré les forums visités et les astuces récupérées.

Ce forum revient souvent et des demandes assez proches de la mienne ont trouvé des solutions, alors je me lance.

J'ai un fichier de 20000 lignes avec des références qui reviennent plusieurs fois (5400 réf en tout).

Ces références sont en fait des produits compatibles de produits similaires d'autres marques (comme pour les cartouches d'encre compatibles par exemple).

Ainsi j'ai un tableau de ce genre :

A B C D E

Réf1 RéfCompatibleXYZ MarqueCompatible1 NomDuProduitFR NomDuProduitEN

Réf1 RéfCompatibleABC MarqueCompatible1 NomDuProduitFR NomDuProduitEN

Réf1 RéfCompatibleDEF MarqueCompatible2 NomDuProduitFR NomDuProduitEN

Réf2 RéfCompatibleGHI MarqueCompatible3 NomDuProduitFR NomDuProduitEN

Réf5400 RéfCompatibleKLM MarqueCompatible180 NomDuProduitFR NomDuProduitEN

J'aimerais trouver une solution pour réduire mon tableau de 20000 lignes au nombre de références que j'ai (soit 5400) tout en gardant l'ensemble des informations des colonnes séparées par des virgules.

Ca donnerait :

A B C D E

Réf1 RéfCompatibleXYZ, RéfCompatibleABC, RéfCompatibleDEF MarqueCompatible1, MarqueCompatible2 NomDuProduitFR NomDuProduitEN

Réf2 RéfCompatibleGHI MarqueCompatible3 NomDuProduitFR NomDuProduitEN

Réf5400 RéfCompatibleKLM MarqueCompatible180 NomDuProduitFR NomDuProduitEN

J'aimerais que ce soit possible via une formule car ce serait plus simple pour moi mais une macro bien expliquée, je prends volontiers aussi. (J'ai essayé de reprendre des macros mais je n'ai jamais réussi meme à les lancer sur un fichier. J'ai réussi à ouvrir VBA avec Alt+F11 mais ca s'arrete là en gros ).

J'espère que l'un de vous saura m'aider.

Merci d'avance

Bonsoir,

Sujet qui parait tellement simple et qui me fait devenir chèvre.

Je veux en VBA pouvoir ajouter une valeur supplémentaire à ma formule existante.

Je m'explique : bêtement en A1 j'ai =11+14+03

Dc ce qui donne 28

j'ai en VBA une variable nommée mavaleur qui vaut 02. Je veux que dans ma cellule A1, il y est =11+14+03+02

mais si en VBA, je fais range("A1").value = range("A1").value + mavaleur alors je vais avoir concrètement dans la cellule A1 =30 ...

J'ai testé avec .formulaR1C1. En passant par des variables intermédiaires etc.... soit j'ai une erreur soit il me sort =30

Je veux vraiment garder la décomposition de mon calcul, c'est à dire +11+14+.... etc

Merci par avance

Bonjour à tous,

Problème assez simple mais je n'arrive pas à comprendre

Sub TEST()

Set truc = Sheets("Feuil1").Range("A1:A3").Find("FIXE")

End Sub

Cette simple recherche me renvoie "Nothing" alors que l'information est bien présente dans ma feuille (ci-joint un exemple)

Mes cellules contiennent FIXE mais avec une format personnalisé "F " @ qui renvoie en impression F FIXE

Rien n'y fait, je ne comprends pas pourquoi il ne veut pas trouver cette cellule

Quelqu'un aurait-il une idée ?

Merci pour votre aide

6find.xlsm (13.66 Ko)

Bonjour,

Je sollicite votre aide, je cherche comment valider mes entrées de données...

Dans ma Feuil1 j'ai ma liste d'items et en L4:L5000 des NoDossier

Dans ma Feuil2 j'ai l'historique des déplacements des items et dans la colonne C je retrouve mes NoDossier

Je souhaite que lorsque j'ajoute un déplacement dans la Feuil2, lorsque j'écris le NoDossier, il doit exister dans ma colonne L:L de ma Feuil1 sinon, il m'avise que le No.Dossier est invalide et m'invite à recommencer.

Je cherche quelle formule entrées dans ma colonne C avec le gestionnaire de validation

Merci

Bonjour,

J'ai un petit fichier Excel avec 2 colonnes (ci joint),

Ce que je voudrais faire sur le tableau est le suivant:

Pour chaque nouvelle saisie d'un numéro CIN qui existe deja dans la colonne B, un message Box d'avertissement s'affiche pour m'informer que le "numéro CIN existe déja"

8message-box.xlsx (9.48 Ko)

Bonjour,

Dans un UserForm nommé commande j’ai une ComboBox_nom , une ComboBox_reference , une TextBox_designation et une TextBox_date.

Avec la valeur de la ComboBox_nom j’active la feuille qui à ce nom , je met la valeur de la ComboBox_reference dans la cellule A3 , la valeur de la TextBox_designation dans la cellule B3 et la valeur de la TextBox_date dans la cellule C3 et passe à la ligne suivante à chaque entrée de nouvelle référence.

Je souhaiterai lors de la saisie d’une valeur existante dans la colonne reference (A) dans la feuille active ne rentrer que la date dans la première cellule vide de la ligne de cette référence.

Merci pour votre aide.

Bonjour à vous, ravi d'être de la communauté et j'espère que vous pourrez m'aider.

Je suis pas très fort en vba et même que je ne maîtrise pas toutes les formules d'Excel, néanmoins j'ai un bon sens en logique.

Mon problème réside dans l'attribution d'une valeur identique pour un ensemble de doublons de façon automatique.

j'ai donc programmé une colonne intermédiaire pour déterminer les doublons (colonne H). Pour déterminer les doublons, j'ai concaténé les noms et les dates d'arrivée des dossiers afin de m'assurer de l'identicité de deux ou plusieurs lignes.

Je souhaite maintenant rechercher dans la colonne G s'il existe pour les doublons une valeur dans celle-ci susceptible d'être attribuer pour l'ensemble des doublons.

Notons cependant que l'attribution se fait par plage de doublons et évidement il faudrait reconduire les numéros des entrées qui ne sont pas en double quant il existe. Autre chose, pour une plage de doublons on pourrait avoir deux valeurs en G, serait-il possible de renvoyer ces deux valeurs séparées d'une virgule?

merci à tous. tout en espérant une réponse prompte de votre part.

23echantillon.xlsx (12.61 Ko)

Bonjour,

Je dois dans le cadre de mon boulot créer un fichier qui calcule un score à partir de questions prédéfinies . J'ai regardé dans le forum un sujet assez proche : "Copie d'une ligne après la saisie d'une valeur existante" mais je ne pense pas et je ne vois pas comment adapter le code décrit pour mon cas.

Je veux entrer une valeur dans la cellule F16. En fonction de la valeur entrée, j'aimerai que les questions L17 et L18 soient recopiées juste en dessous de la ligne existante.

Le nombre total de lignes = valeur entrée = ligne des questions existantes + complément nécessaire

Sachant que j'ai encore une liste des questions en-dessous des L17 et L18. J'ai rattaché un extrait du fichier

Je suis toujours aussi méga débutante (je réclame mais toujours pas de formation donnée au boulot), en tout cas merci pour votre aide!!!!!

Cordialement

14extraction.zip (7.94 Ko)

Bonjour à tous,

Je débute en Vba, j'ai un tableau contenant plusieurs lignes et colonnes qui contiennent des formule et mise en forme conditionnelle. Je crée quotidiennement de nouvelles lignes à la suite.

Je souhaite faire une copie sous condition soit exemple :quand je saisie une valeur x dans la dernière ligne non vide /dans la colonne A de mon tableau et que cette valeur existe déjà alors une MsgBox s'ouvre et me demande si je veux copier la ligne si oui alors je copie la dernière ligne avec la même valeur en colonne A et la colle en dernière ligne de mon tableau sinon rien.

J'ai essayé de réaliser cela mais je bloque :

Private Sub Worksheet_Change(ByVal Target As

Dim Lg%, x%

Lg = Range("a65536").End(xlUp).Row

If Not Application.Intersect(Target, Range("K8:K" & Lg)) Is Nothing Then

If Application.CountIf(Range("K:K"), Target) > 1 Then

x = Application.Match(Target, Range("K:K"), 0)

If x = Target.Row Then

x = Application.Match(Target, Range(Target.Offset(1, 0), Cells(Lg, 1)), 0) + Target.Row

End If

End If

If MsgBox("Ce numéro d'article" & " " & " : " & Target.Value & " " & "existe déjà ! Copier la ligne et modifier manuellement ? ", vbYesNo + vbCritical) = vbYes Then

Target.ClearContents

Worksheets("PRA").Rows(x).Select

Worksheets("PRA").Rows(x).Copy

Worksheets("PRA").Rows(Lg).PasteSpecial

End If

End If

End Sub

Ci- dessus le code que j'ai pu récupérer sur ce site et que j'ai essayé de modifier, le code identifie bien la ligne avec la même cellule, la MsgBox s'ouvre bien mais si je clique sur oui rien ne se passe.

C'est peut-être tout bête mais je ne vois pas.

Merci d'avance pour votre aide

Cdt,

Bonjour

Dans un USF, je n'arrive pas à tester si la valeur du combo33 existe en colonne A de la feuille "correspondance"

Le but du jeu : s'il ne trouve pas la valeur, il peut créer la nouvelle valeur, sinon, message d'impossibilité d'exécuter la suite de la macro.

Ça pêche où svp ?

Merci d'avance

Dim Trouve As Range
    With Sheets("Correspondance")
        With .Columns("A:A")
        Set Trouve = .Find(ComboBox33, LookIn:=xlValues)
        End With
            If Not Trouve Is Nothing Then
            ligne = Sheets("Correspondance").[A65000].End(xlUp).Row + 1
            Sheets("Correspondance").Cells(ligne, 1) = Me.ComboBox33
            Sheets("Correspondance").Cells(ligne, 2) = Me.TextBox1
            MsgBox "Nouvellecorrespondance enregistrée avec succès"
            Else
            MsgBox "Nouvelle correspondance impossible a créer car déjà existante"
            End If
    End With

J'ai oublié de signaler que c'est lorsque la valeur existe déjà que le code ci-dessus ne fonctionne pas (fait comme si la valeur n'existait pas)

merci

Bonjour,

Je n'arrive pas à faire un compteur simple du type

une valeur existe en A2 et je voudrais entrer une valeur en A1 qui s'additionne à la valeur de A2 sans l'écraser et de façon itérative voir scénario

ETAT 1

CELLULE A1 A2

VALEURS CELLULES 5

ETAT 2

CELLULE A1 A2

VALEURS CELLULES 7 12

ETAT 3

CELLULE A1 A2

VALEURS CELLULES 10 22

C'est pour faire un compteur cumulatif avec une saisie simple en A1

Je vous remercie par avance de votre réponse

A bientôt

Bonsoir à tous

Je viens vers vous pour savoir si via une macro il serait possible de concatener puis de rechercher les doublons parmi ces concatener.

Je sais le faire via formule concatener et par une mise en forme conditionnelle mais mon souci c'est que je dois travailler sur un fichier de plus de 100 000 lignes et cela me prend plus de 15 minutes pour que les calculs s'effectuent.

si en plus la solution VBA (si cela est possible) pouvait inclure une mise en forme conditionnelle pour indiquer les doublons ce serait le top

je suis ouvert à toutes autres solution

Merci d'avance

je vous joins un fichier type avec une 20aine de ligne

19doublons.xlsx (9.78 Ko)

Bonjour à tous,

Voici mon problème :

En première ligne A , B , C , D , E ... une lettre pour chaque colonne

En seconde ligne un texte, en dessous d'une lettre, avec des cellules vides pour certaines.

En troisième ligne et pour toutes les autres (infinité de lignes),la même chose mais associé différemment.

Mon but est de rechercher les cellules non vides, concaténer une lettre et un texte, en ajoutant des séparations et des retours à la ligne.

Dans mon exemple, pour la première ligne je devrais trouver :

A : ABC (retour à la ligne)

B : DEF

D : GHI .. ect.

Y'a-t-il une solution sans passer par du VBA ?

Merci d'avance !

Bonjour,

J'utilise Power Query pour extraire des données d'un classeur excel à un autre en enregistrant une requête.

Est-il possible d'appliquer cette même requête à d'autres classeurs excel sachant qu'ils sont exactement structurés de la même manière?

Merci par avance.

Salut,

Il y a quelques années maintenant, une âme charitable de ce forum m'avait fait cette petite macro, qui vient récupérer quelques données dans tous les fichiers excel du dossier (et sous-dossiers) qui se termine par "DS-516" pour les coller dans l'odre dans un tableau.

La Macro:

Dim nr

Sub recap_valeurs()
    nr = 1
    browsefolder ("W:\INSTRUCTION\EB - Instructions de controle réception\EB_Relevé de contrôle\Relevés de Contrôle Signés (originaux)\DS - Insert\- Suivi\DS-5xx_Inserts OMNIDENT")
MsgBox "importation OK"
End Sub
Sub browsefolder(Optional chemin = "")
    Set cws = ThisWorkbook.ActiveSheet
    If chemin = "" Then chemin = ThisWorkbook.Path
    Set FSO = CreateObject("Scripting.FileSystemObject")
    Set folder = FSO.GetFolder(chemin)
    For Each fich In folder.Files
          If InStr(UCase(fich), "DS-516.XLS") Then
          nr = nr + 1
        cws.Cells(nr, 1) = fich 'inscrit le nom de fichier en ligne 2/colonne 1
        cws.Cells(nr, 2) = FSO.GetFile(fich).DateCreated 'inscrit la date de création du fichier en ligne 2/colonne 2

            Set nwb = Workbooks.Open(fich, ReadOnly:=True)
            'prend la valeur se situant à 8 cellules de la cellule contenant le mot "Moyenne"
            Set re = nwb.Worksheets(1).Cells.Find("Moyenne", lookat:=xlWhole)
            If Not re Is Nothing Then cws.Cells(nr, 3) = re.Offset(0, 8)
            'prend la valeur se situant à 10 cellules de la cellule contenant le mot "Moyenne"
            Set re3 = nwb.Worksheets(1).Cells.Find("Moyenne", lookat:=xlWhole)
            If Not re3 Is Nothing Then cws.Cells(nr, 4) = re3.Offset(0, 10)
            'prend la valeur se situant à 11 cellules de la cellule contenant le mot "Moyenne"
            Set re3 = nwb.Worksheets(1).Cells.Find("Moyenne", lookat:=xlWhole)
            If Not re3 Is Nothing Then cws.Cells(nr, 5) = re3.Offset(0, 11)
            nwb.Close
        End If
    Next
    For Each Rep In folder.SubFolders
        browsefolder Rep
    Next
End Sub

Le tableau récap:

1586522134-ds-516-macro

Le truc, c'est qu'aujourd'hui j'ai une certaine quantité de fichiers excel…. et la macro repart du début à chaque fois, donc ca devient assez long.

Je me demandais donc s'il y avait pas un moyen pour faire en sorte que ca reprenne les données uniquement des fichiers excel qui ne sont pas déjà importés, pour les incrémentés dans les lignes suivantes.

Ou, si pas possible, je sais pas, peut-être pouvoir saisir quelque part une date de départ ?

Merci d'avance.

Bonjour,

Je connais quelques bases d'excel, mais je reste novice. Et comme je n'ai pas forcément les bons termes pour m'exprimer, la solution est peut être dans un ancien sujet, veuillez m'excuser si c'est le cas.

Je suis prof et je prépare le recrutement des élèves de l'année prochaine.

Je vais recevoir une feuille excel avec en ligne chaque élève et en colonne différentes infos ( c'est la feuille "BD" du fichier "Test") et j'aimerais pouvoir faire une feuille individuelle pour chaque élève liée à la feuille "BD", que je pourrais ensuite annoter et imprimer si besoin.

Je l'ai fait manuellement dans la feuille "élève 2" du fichier "Test" avec les formules dans les cases grisées.

Comment faire pour créer une nouvelle feuille "élève" déjà rempli avec les cases liées aux informations de l'élèves suivant ? Exemple: feuille "élève 3" sur le modèle de la feuille "élève 2" mais dont les cases sont liées à la ligne 3 de feuille "BD".

Si ce n'est pas clair, n'hésitez pas à me demander des précisions.

Merci beaucoup d'avance,

Artur

6test.xls (11.86 Ko)

Salut à tous,

Je ne sais pas s'il est possible de le faire, mais j'aimerai à partir d'un nouveau fichier exécuter une macro qui ajouterai dans ce fichier des macros déjà existante (sans faire de lien avec d'autres fichiers)

Je ne suis peut être pas très clair

L'idée est qu'à partir d'un nouveau fichier je récupère des macros déja faite et qui sont alors disponibles. Mais je ne souhaite pas que la macro fasse à un lien vers un autre fichier mais qu'elle fasse comme si elle l'écrivait

Merci à vous !!

Bonjour à tous,

Mon problème du jour est celui ci:

Je cherche à copier dans un tableau d'une feuille (Nommée "récap") la cellule "total d'heure" (nommée "janvier", "Février" ....) lorsque la feuille existe. Cela fonctionne à moitié avec ma macro, cependant lorsque le nom d'une feuille n'existe pas excel m'ouvre une fenêtre m'invitant à chercher un fichier.

Je suis intéressé à toute suggestion me permettant d'améliorer mon approche et réduire mon code.

Merci à vous, au plaisir de vous lire et d'échanger avec vous.

Sub Update_Hours()
'
' Update_Hours Macro
'
'
    Range("B9").Select
    ActiveCell.FormulaR1C1 = "=IF(Janvier!R41C[8]="""",""-"",Janvier!R41C[8])"
    Range("B10").Select
    ActiveCell.FormulaR1C1 = "=IF(Février!R41C[8]="""",""-"",Février!R41C[8])"
    Range("B11").Select
    ActiveCell.FormulaR1C1 = "=IF(Mars!R41C[8]="""",""-"",Mars!R41C[8])"
    Range("B12").Select
    ActiveCell.FormulaR1C1 = "=IF(Avril!R41C[8]="""",""-"",Avril!R41C[8])"
    Range("B13").Select
    ActiveCell.FormulaR1C1 = "=IF(Mai!R41C[8]="""",""-"",Mai!R41C[8])"
    Range("B14").Select
    ActiveCell.FormulaR1C1 = "=IF(Juin!R41C[8]="""",""-"",Juin!R41C[8])"
    Range("B15").Select
    ActiveCell.FormulaR1C1 = "=IF(Juillet!R41C[8]="""",""-"",juillet!R41C[8])"
    Range("B16").Select
    ActiveCell.FormulaR1C1 = "=IF(Aout!R41C[8]="""",""-"",Aout!R41C[8])"
    Range("B17").Select
    ActiveCell.FormulaR1C1 = "=IF(Septembre!R41C[8]="""",""-"",Septembre!R41C[8])"
    Range("B18").Select
    ActiveCell.FormulaR1C1 = "=IF(Octobre!R41C[8]="""",""-"",Octobre!R41C[8])"
    Range("B19").Select
    ActiveCell.FormulaR1C1 = "=IF(Novembre!R41C[8]="""",""-"",Novembre!R41C[8])"
    Range("B20").Select
    ActiveCell.FormulaR1C1 = "=IF(Décembre!R41C[8]="""",""-"",Décembre!R41C[8])"
    Selection.OnAction = "Update_Hours"
    Range("D17").Select
    Selection.OnAction = "Update_Hours"
End Sub

Recherches récentes

rechercher meme valeurentourer valeurcouleur graphique inditexcouleur graphiquecouoeur graphiqueformulaire wordrecherche similairerecherche valeur similaireimagetableau dietetiquedietetiqueconditionsplanningfichiersdecochercase cocheraccess applicationconditionnellevba rechercher valeurshorloge