Résultats pour "left join select where champ principal"

351 résultats pour cette recherche

Bonjour

Nouveau sur le site, je n'ai pas su créer un titre simple, désolé.

Donc, j'ai un SELECT sur ma table principale

un LEFT JOIN sur 1ére table secondaire

un LEFT JOIN sur 2nde table secondaire

un LEFT JOIN (SELECT) sur 3ème table secondaire

WHERE...

mon problème est que je veux, dans le LEFT JOIN SELECT... filtrer les enregistrements par rapport a la valeur d'une date du select principal et là, ça plante (The multi-part identifier "ctrh.FVDT - Valid from" could not be bound)

en espérant être plus clair,

merci d'avance pour votre aide

SELECT ctrh.[CONO - Environment] Cono
      ,ctrh.[AGNB - Agreement number] Ctr
      ,ctrh.[SUNO - Supplier] Frn
      ,ctrh.[FVDT - Valid from] 'Valide du'
...
...
FROM [Purchase agreement header] ctrh
  LEFT JOIN [Purchase agreement lines] ctrln
...
...
LEFT JOIN [Purchase agreement prices] ctrpu
...
...
  LEFT JOIN
        (
        SELECT [FACI - Facility],[SUNO - Supplier],[ITNO - Item number],SUM([RVQA - Received quantity]) QtRecue
            FROM [Purchase order line]
            WHERE [SUNO - Supplier]='F1570' and [RVQA - Received quantity]>0 [u]and [CODT - Confirmed delivery date] >= ctrh.[FVDT - Valid from][/u]
            GROUP BY [FACI - Facility],[SUNO - Supplier],[ITNO - Item number]
        ) 
            AS t2 ON ...

Bonjour à tous,

J'essaie de comprendre pourquoi une requête SQL (avec une jointure externe) executée via un ADODB.RecordSet ne me retourne aucune ligne alors que la même requête exécutée dans une solution SQL (Toad en l'occurence, que j'utilise) retourne des lignes.

C'est la propriété rs.RecordCount qui m'indique qu'aucune ligne n'est retournée.

Pour être sûr que la requête générée est correcte et retourne effectivement au moins une ligne, j'ai copiée la variable qry obtenue dans le presse-papier et l'ai exécutée dans Toad, avec justement des lignes de résultats, me prouvant que la requête est bien fonctionnelle.

Peut-être que j'utilise mal la propriété Open du recordset, ou autre chose mal écrite dans le code ?

Je précise que pour une requête classique (le qry que j'ai commenté par exemple) sans jointure externe, ça marche bien, le recordset obtenu après éxécution du SQL n'étant pas vide ...

Voici mon code :

Function RemplirCelluleCO_CC(filtre As String, reste As Integer, tour As Integer)

    Dim tableau As Variant
    Dim valeur As String

    ' la variable filtre contient une suite de comptes_ID
    'qry = "SELECT ACCT_ID, BILL_CYC_CD FROM CI_ACCT WHERE ACCT_ID in (" & filtre & ")"
    qry = "SELECT A.ACCT_ID, DECODE (B.ACCT_ID, NULL, A.BILL_CYC_CD, B.CYC_ORIGINE) AS CYC_ORI, " & _
    "DECODE (B.ACCT_ID, NULL, A.BILL_CYC_CD, B.CYC_EN_COURS) AS CYC_EN_COURs, " & _
    "FROM CI_ACCT A LEFT OUTER JOIN CM_C_TMP_MAJ_CYC_S B ON A.ACCT_ID = B.ACCT_ID " & _
    "WHERE A.ACCT_ID in (" & filtre & ")"

    Call ConnexionOracle(fichierConnexionProd)
    Set rs = New ADODB.Recordset
    rs.Open qry, cnx, adOpenKeyset, adLockOptimistic

    'MsgBox rs.RecordCount
    Set obj = New DataObject

    obj.SetText qry
    ' J'ai mis qry dans le presse-papier pour savoir ce que contient qry et l'éxécuter dans Toad
    obj.PutInClipboard

    If rs.RecordCount < 1 Then
        rs.Close
        'Rien dans le recordset, on sort du programme
        Call DeconnexionOracle
        Exit Function
    Else
        tableau = rs.GetRows
        rs.Close
    End If
    Call DeconnexionOracle

( ... )
End Function

Merci pour votre aide ... je suis dans une impasse ... !

A très vite !

Bonjour à tous,

Ca doit pas être très dur mai j'arrive pas...

J'ai une erreur 5 mais je la comprend pas, enfin je ne sais pas comment la résoudre.

erreur d'exécution '5' :

Argument ou appel de procédure incorrect

Le but de ma macro est de donné les 3er caractère de M11 dans la colonne F d'une autre feuille.

nb_classeur = Worksheets.Count
b = 7
For a = 2 To nb_classeur
ODMENU.Cells(b, 6) = Left(Sheets(a).Cells("M11"), 3)
b = b + 1
Next a
End Sub

Bonjour, j'ai deux valeurs dans une combobox qui entraine l'ouverture d'une listbox :

  • "PROBLEME A" qui ouvre une listbox pour sélectionner le ou les sous Problème de A, donc une LISTBOX EN MULTI SELECT
  • "PROBLEME B" qui doit m'autoriser à sélectionner une valeur dans la même listbox soit "SOUS PB B1 " soit "SOUS PB B2"
Comment faire en sorte pour avoir une une multi sélection si PROBLEME A et une sélection unique si PROBLEME B.

Merci pour votre aide

Youyou

Bonjour à tous,

Après quelques recherches sur le forum, je n'ai rien trouvé satisfaisant ma demande donc je me permets de vous la soumettre ici.

Je dispose :

  • d'un fichier principal avec mes formules
  • de plusieurs fichiers "sources" avec mes données

L'action pour laquelle je souhaite créer une macro est celle de la copie des infos des sources vers le fichier principal.

Actuellement, je copie colle ces infos à la main : une feuille par fichier source dans le fichier principal.

Je répète cette opération de c/c à chaque mise à jour des sources.

Je souhaite donc pouvoir récupérer avec une macro les données des fichiers sources et les coller dans des feuilles dédiées.

Les contraintes :

  • les sources n'ont pas forcément le même nombre de colonnes et de lignes => il faut sélectionner toutes les données de la feuille de la source
  • dans la feuille cible, il faut supprimer les valeurs précédemment renseignées avant copie
  • le nom du fichier source est susceptible de changer donc plutôt que de l'avoir en dur dans le code, j'opterai pour une sélection manuelle (type GetOpenFilename)

Pour pouvoir gérer plusieurs sources, je pense qu'il faudra passer par une adaptation de la macro pour chacune (en avoir une pour chaque feuille en fait). Si vous avez une idée pour tout faire en une fois, je suis évidemment preneur !

Je vous joins un fichier d'exemple pour la forme mais il n'y a rien côté macro.

Merci d'avance.

Bonjour ,

Je suis à la recherche d'une macro qui permet à la fin de copier la ligne 11 à 26 de chaque folio pour la coller sur un folio principal "Listing" .

Pour l'instant ma macro réalise le nom de chaque folio avec un lien permettant lorsque l'on clique dessus d'arriver sur le folio directement . Puis le nom d'

1aide-macro.xlsm (45.82 Ko)
1aide-macro.xlsm (45.82 Ko)

un libélé

J'aimerais intégrer le copie colle de façon à ce que les lignes qui vont apparaître sur le folio principal soit en dessous du Folio correspondant .

Exemple : 13.101 c'est le folio , Gestion de projet le libélé et j'ai mes lignes à inserer ça doit donner ça :

13.101 Gestion de Projet

  • Ligne 1
  • Ligne 2
  • Ligne 3
  • Ligne ...
13.102

Voici maintenant la macro et le fichier excel

Sub main()

Dim wb As Workbook
Dim ws As Worksheet
Dim myws As Worksheet
Set wb = ThisWorkbook
Set myws = wb.Sheets("Listing")
Dim idx As Double

idx = 1
For i = 1 To wb.Worksheets.Count
    Set ws = wb.Sheets(i)
    Set myws = wb.Sheets("Listing")
    If ws.Name <> "Source" And ws.Name <> "Listing" Then
        'myws.Cells(idx, 1) = ws.Name
        myws.Cells(idx, 1).Select
        TxtSubAdress = "'" & ws.Name & "'!A1"
        myws.Hyperlinks.Add Anchor:=Selection, Address:="", SubAddress:=TxtSubAdress, TextToDisplay:=ws.Name

        myws.Cells(idx, 2) = ws.Cells(6, 2)  'Libellé
        idx = idx + 1
    End If
Next

End Sub

Merci à vous et bonne période de confinement ^^

Bonjour.

J’ai une feuille(formulaire) que j’ai copier 52 fois. Je voudrais apporter un changement au titre que j’ai protégé de ma feuille et l’appliquer au 52 autres sans toutefois changer les différentes données qui ont déjà été ecrite dans les cellules non protégés de c’est feuilles.

Merci.

Bonjour/Bonsoir,

J'ai besoin d'aide svp pour mon entreprise afin de gagner du temps et au lieu d'avoir 4 fichiers Excel j'aimerais grouper dans 1 seul.

Je vais essayer d'expliquer mes problèmes le plus simplement possible mais comme je suis plutôt nulle et tellement fatiguée en Excel que ce n'est pas gagné...

J'ai env. 300 articles différents mais là j'ai réduit pour mon fichier TEST.

1er petit problème (je suis sûre que c'est un petit truc à régler) : Dans mon onglet; commandes dans la colonne: Code Article je ne sais plus comment faire pour que quand je mette l'article sous: Désignation, le Code Article se mette automatiquement et surtout dans toute la colonne Code Article, ma formule se modifie et si on regarde la ligne 22 le Code Article est #N/A.

2ème problème: C'est que j'aimerais selon ce que je remplis dans l'onglet; commandes que les qty pcs livrés s’additionnent dans l'onglet; Stat de ventes afin que puisse savoir combien de tel article j'ai vendu par mois.

J'aurais besoin d'autres choses mais on va déjà soft.

Merci d'avance pour votre aide et collaboration.

Bonne soirée et/ou journée

Bonjour à tous

Je cherche un moyen pour afficher des données de la veille sur ma page d'accueil.

Je dois aller chercher ces données dans différents onglet.

Exemple :

Une fenêtre qui affiche la quantité de matière en kg qui est rentré la veille (onglet "In").

19test.xlsm (306.46 Ko)

Y a t-il un moyen qu'à l'ouverture du fichier un user form s'ouvre automatiquement et affiche des données (que je vais paramétrer dans l'user form) de la veille.

J'espère avoir été assez clair...

Merci d'avance pour votre aide (j'ai joins mon fichier en exemple).

Bonjour,

Je vulgarise mon besoin (excel 2010):

Je veux un onglet (appelons TOUS) de type bilan, duquel tous les autres onglets nourriront TOUS et celui-ci ne sera qu'à titre de visuel, on ne fera aucune modification dans TOUS, il sera toujours selon les autres onglets.

J'aimerais que TOUS dans mon chiffrier excel fasse (c'est dans le meme chiffrier)

SI

1) dans tous les onglets subséquent l'article (sera toujours la meme colonne de chaque onglet, disons C1) n'y est pas, l'inscrire à tel endroit dans TOUS (disons a1)

*****Évidemment, la première entrée sera c1 ou a1, après c2 ou a2... et cetera. Colonne est statique, ligne est variable.*** (a garder en tête pour les autres exemples) **********

2) toujours dans le même si, indiquer (disons en a2 dans TOUS) le nom de l'onglet de la source (exemple client1)

Sielse

1) l'article se retrouve déjà dans TOUS (provenant d'un autre onglet), on ne l'écrase pas

2) on ajoute en concaténation le nom de l'onglet ou il est également ailleurs (exemple client1 ; client 2 ; etc)

Sielse

1) je fais une modification dans un onglet (disons client 1, client 2, et cetera), de l'article EXISTANT, on vérifie quel article dans le TOUS sera touché, on retire le client de l'ancien article et on l'ajoute dans le "nouveau". Donc chaque article est TOUJOURS unique. (statique)

La macro vérifie chaque onglet (sauf TOUS) tant et aussi longtemps que colonne c a une écriture, sinon elle arrête. Il n'y a pas de danger qu'une cellule soit vide et la prochaine ait du texte, donc on peut arrêter a la première cellule vide. (donc c1 texte, ok continue en c2 texte, ok continue c3 vide, arrete).

Exemple en itération #1

onglets existants: TOUS, client1, client2

Je fais l'entrée manuellement:

Dans l'onglet Client1, cellule C1: article: ajout d'un usager

La macro:

TOUS a1: ajout d'un usager

TOUS a2: Client1

itération #2

Je fais l'entrée manuellement:

Dans l'onglet Client 2, cellule C1: article ajout d'un usager

La macro

TOUS a1: fais rien, article est déjà existant.

TOUS a2: Client1 ; Client2

itération #3

Je fais la modification de l'article dans client 2

Client 2, cellule C1: article ajout d'un usager existant

La macro

TOUS a1: rien, l'article est déjà écrit.

TOUS a2: Retire client2 (car l'article n'est plus dans client2) garde Client1 (puisque l'article y est toujours présent)

TOUS b1: ajout d'un usager existant

TOUS b2: client2.

itération #4

Je fais l'ajout d'un onglet, client 3

Je fais l'entrée manuellement:

Dans l'onglet Client3, cellule C1: article: ajout d'un usager

La macro:

TOUS a1: rien, l'article est déjà écrit.

TOUS a2: ajoute client3, donc aura client1 ; client 3

itération #5

Je fais l'entrée manuellement:

Dans l'onglet client3, cellule c2: article: ajout d'un usager existant

TOUS a1: rien, l'article est déjà écrit.

TOUS a2: aucune modification

TOUS b1: rien, l'article est déjà écrit.

TOUS b2: ajoute client 3. donc aura client 2 ; client 3.

Je crois que j'ai bien illustré via ce pseudo-code mon besoin, l'un de vous peut me le transcrire en code VBA?

Je comprends que je devrai maintenir le code en ajoutant ou retirant manuellement onglets car excel ne peut savoir

Je comprends aussi qu'à long terme, TOUS sera assez volumineux. Mais je vis bien avec ca

Est-ce que l'un de vous peut me pondre cette macro | programme en VBA?

S'il y a des précisions à rajouter, svp me le faire savoir.

Donald

Bonjour à toutes et tous

je viens de lire des dizaines de messages sur le sujet mais rien ne correspond à mes désirs.

J'ai une feuille nommée "Famille" et je veux la renommer "Patients"

après le changement, manuel j'ai un message d'erreur dans mon UserForm

" UserForm_Patient.Show" souligner en jaune e tout se bloque

Quelle est la bonne méthode ?

merci de m'aider encore une fois

Amitiés

Pierrot

Bonjour à tous,

Tout d'abord je tiens à tous vous souhaiter une bonne année 2016 avec beaucoup de réussite !

Je viens vers vous car je suis bloqué sur une macro VBA que j'ai effectué.

Le but de celle-ci est de copier le contenu de plusieurs onglet de Workload vers un onglet principal.

Ces 4 onglets sont les suivants : Workload ADE, Workload JBO, Workload PNI et Workload RRO.

Je désire copier le contenu de ces onglets seulement pour les lignes dont le statut W+1 = "done" ou "added".

Lors du remplissage de l'onglet, l'utilisateur éxècute une macro par un clic sur le bouton "Historic" et copie le contenu de cet onglet dans l'onglet principal Historic. Chaque utilisateur a sa macro mais qui pointe toujours vers le même onglet principal.

Bien évidemment le contenu de ces lignes n'est copié qu'une fois et doit prendre en compte les doublons. Une fois copié, le contenu de l'onglet copié est remis à 0.

Ma macro fonctionne une fois mais ne prends pas en compte les informations copiées des différents onglets.. :/ du coup je suis complètement bloqué.

Pouvez-vous me venir en aide ou bien me conseiller dans ma démarche ?

Merci d'avance et bonne journée à tous,

Bonjour à tous!

Voilà je vous explique mon problème.

J'ai un tableau global, récapitulatif (onglet "DTB WORLD") qui regroupe toutes les lignes des tableaux des autres onglets concernant différent pays ("DTB FRANCE", "DTB GERMANY"...).

Je souhaiterais, par l'intermédiaire d'une macro et en actionnant un bouton que lorsque je modifie et ajoute des lignes aux tableaux de chaque pays elles s'ajoutent à la suite des précédentes de ce même pays dans le tableaux de l'onglet "DTB WORLD"

Il ne faudrait en revanche pas prendre en compte la dernière ligne TOTAL de chaque tableau de pays.

Il faudrait également que lors de l'ajout des nouvelles lignes au "DTB WORLD" la dernière ligne TOTAL prennent en compte ces nouvelles lignes et les sommes incluses dans les nouvelles cellules.

Pour essayer d'être plus clair, si je rajoute des lignes de données dans "DTB GERMANY" je souhaiterais qu'elles s'ajoutent dans "DTB WORLD" à la suite des anciennes lignes notées GERMANY (de la colonne A). Et de même pour chaque pays. Il ne faut pas que tout s'ajoute en vrac à la fin de "DTB WORLD"

Voilà ça c'est le gros de mon problème car je n'y connais à vrai dire rien en Macro. Je suis un peu mac la débrouille avec les formules mais les Macro c'est une autre affaire... c'est pourquoi je fais appel à vous les experts de cet outil incroyable qu'est Excel

J'ai aussi un deuxième soucis mais nettement moins prioritaire:

Les onglets des pays sont "mis à jour", compléter à la mains en copier coller depuis des extractions de BDD. Seulement voilà à chaque extraction j'ai aussi toutes lignes déjà présentes dans mes onglets pays + les nouvelles, et certaines des lignes qui étaient dans les onglets pays ont changées (date de clôture, attribuated turnover...). Tout ce que j'ai pu faire pour le moment c'est faire une mise en forme conditionnelle sur les 2 premières colonnes m'indiquant les doublons en N° AO ou en Designation AO. Après je supprime à la main les anciens doublons (anciennes lignes) 1 par 1.

Serait-il possible à l'aide d'une Macro et d'un bouton de rendre ce processus automatique: Lorsque qu'un doublon de N°AO est détecter, supprimer la ligne la plus ancienne et conserver la nouvelle.

Je vous remercie d'avance pour votre aide précieuse , j'espère ne pas trop en demander :-/

Bonjour,

Je vous explique mon problème, j'ai un fichier excel comprenant 3 colonnes,

A - Equipement

B - Cycle de visite

C - Date

Je voudrais qu'automatiquement dès que je met à jour le tableau principal, les cycles de visites se repartissent dans différents onglets pour que je puisse les traiter rapidement.

j'ai plus de 500 équipements à traiter donc le tri par filtre automatique ne me convient pas vraiment et n'est pas intuitif pour les autres utilisateurs du tableau.

Je ne suis vraiment pas spécialiste en excel mais quelqu'un pourrait il m'aider dans ma tache ?

Je vous joins le fichier pour etre plus explicite

22exempleexcel.xls (13.50 Ko)

Merci d'avance

Bonjour,

Lorsque j'importe mes données .csv dans mon document de travail Excel, j'ai souhaité ajouter un code qui permette de supprimer une partie des caractères qui ne m'intéressent pas.

En l’occurrence, il s'agit de dates au format texte qui affichent : (jj/mm/aaaa hh:mm:ss) ; n'ayant pas besoin des heures, je supprime tout ce qui est après l'année.

Ça fonctionne sur la majorité des lignes, sauf certaines, lesquelles se trouvent modifiées (l'heure passe de 23:00:00 à 00:00:00 par exemple). Certaines cellules continuent d'afficher la date comme initialement.

Savez-vous d'où cela peut provenir ?

Je joins deux documents ; "BDD" correspond à la base de données que j'importe dans Excel ; c'est dans cet import que mon code est exécuté. Je m'y prends ainsi dans mon exemple pour coller au mieux à la réalité ; parfois si je pars d'une base de données déjà collée dans mon document de travail, je n'ai pas de problème...

Bonne journée !

A plus tard.

4bdd-2.zip (9.64 Ko)

Bonjour à tous.

Internet ne m'a pas donné de réponses satisfaisantes , j'espère que vous pourrez m'arranger le coup

J'ai 2 plagse de données :

La première indiquant des numéro de commande (PO) et l'autre indiquand leurs montant.

Chaque jour un fichier de ce type est crée, et ce que je veux faire c'est aller chercher les données dans les fichiers et ranger ces données selon leur numéro de PO,

si le PO < 7 alors faire somme des PO < 7, puis envoyer la somme dans la colonne "Repack" colonne G3

si le PO >= 7 alors faire somme des PO >= 7 de la plage, puis envoyer la somme dans la colonne "Repack" colonne F3

Voici un exemple de ce que j'aimerais faire dans le fichier joint et le code de la macro qui l'accompagne :

Sub sumif2()

Dim Recase As String

Dim Repack As String

Recase = WorksheetFunction.SumIf(Range("B1:B10"), Left(Range("A1:A10"), 1) >= "7")

Cells(2, 6) = Recase

Repack = WorksheetFunction.SumIf(Range("B1:B10"), Left(Range("A1:A10"), 1) < "7")

Cells(3, 6) = Repack

End Sub

Merci de votre attention, j'espère que vous me comprendrez.

2test-sumif.xlsm (14.51 Ko)

Bonjour à tous,

J'ai ce code VBA qui me permet une multi sélection sur liste de validation.

Je sépare les choix par un retour chariot Chr(10)

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If Not Intersect(Range("A1:A3"), Target) Is Nothing And Target.Cells(1).Count = 1 Then
    Me.ListBox1.MultiSelect = fmMultiSelectMulti
    Me.ListBox1.List = Worksheets(2).Range("A1:A10").Value
    A = Split(Target.Cells(1), Chr(10))
        If UBound(A) >= 0 Then
        For i = 0 To Me.ListBox1.ListCount - 1
        If Not IsError(Application.Match(Me.ListBox1.List(i), A, 0)) Then Me.ListBox1.Selected(i) = True
        Next i
        End If
    Me.ListBox1.Height = 200
    Me.ListBox1.Width = 150
    Me.ListBox1.Top = Target.Top
    Me.ListBox1.Left = Target.Left + Target.Width
    Me.ListBox1.Visible = True
    Else
    Me.ListBox1.Visible = False
    End If
End Sub

Je voudrais cependant que sur la dernière valeur, il n'y ai pas ce retour chariot (donc que la cellule ne se termine pas par un retour chariot).

J'ai introduit un check de la dernière valeur de activecell en fin de procédure. Si c'est Chr(10) alors il le supprime mais je me demandais s'il y avait une façon de le faire après chaque sélection dans la listbox ?

En vous remerciant par avance pour la réponse.

10test.xlsm (22.22 Ko)

Bonjour à tous,

je travaille m'amuse sur un petit projet (à destination de la section "Téléchargements" ) , et dans ce petit projet, j'ai besoin de déclencher la coloration d'une cellule quand on clique gauche sur une des cellules concernées.

J'y parviens avec Worksheet_BeforeDoubleClick mais c'est assez contraignant de devoir double-cliquer à chaque fois.

Je voudrais pouvoir exécuter l'action sur un simple clic.

j'ai fait quelques recherches et j'ai l'impression que ce n'est pas possible... MAIS impossible n'étant pas XLP, je vous pose la question.

Mon code concerné :

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)

If Not Application.Intersect(Target, Range("H11:Q20")) Is Nothing Then
    Target.Value = ""
    Target.Interior.ColorIndex = 16
End If

End Sub

En vous remerciant d'avance !

Bonjour à tous,

Je viens vous voir car j'ai un petit soucis avec un code VBA qui semble-t-il ne fonctionne pas...

Au boulot, je récupère un fichier CSV pour suivre l'apparition d'alarmes et les acquittements effectués pas les opérateurs.

Ce fichier je le traite afin d'en réaliser un rapport "propre" à rediffuser.

Mon problème est que, lorsque mes collègues écrivent les commentaires, certains oublient qu'il ne faut pas faire de retrait à la ligne. Du coup, je récupère un fichier .CSV pourri : la partie du commentaire renvoyé à la ligne atterrit dans la colonne 1...

Mon idée, pour corriger l'erreur, est de regarder chaque cellule dans la colonne 1 : si son texte commence par GRA ou Gra, passer à la cellule suivante, sinon effectuer la correction.

Or, le code que j'ai écrit (ci-dessous) ne fonctionne pas. J'ai déjà écrit d'autres codes de correction assez proches pour d'autres zones et eux fonctionnent. J'ai l'impression que mon erreur réside dans la recherche des caractères "GRA" ou "Gra".

'Correction des renvois à la ligne
For Each cel In Range("A2", Cells(lig, 1))
    Dim MyStr
    MyStr = Left(cel.Value, 3)
    If MyStr = "GRA" Or MyStr = "Gra" Then
    GoTo NextCel
    Else
        For i = 1 To 3
        If Cells(cel.Row, cel.Column + i).Value <> "" Then
        cel.Value = cel.Value & ", " & Cells(cel.Row, cel.Column + i).Value
        Cells(cel.Row, cel.Column + i).Value = ""
        End If
        Next i
    Cells(cel.Row - 1, CommAcq.Column).Value = Cells(cel.Row - 1, CommAcq.Column).Value & Chr(10) & cel.Value
    Rows(cel.Row).Delete shift:=xlUp
    End If
NextCel:
Next cel
End If

Quelqu'un aurait-il une piste pour corriger ce bug ? Où est mon erreur ?

Sinon, y a-t-il une autre façon de détecter les intrus ?

Merci d'avance pour votre aide.

Sha'

Bonjour,

Désolé, j'ai encore une fois l'impression de poser une question "con" ça devrai être si simple mais je bloque complétement.

Je souhaite supprimer toutes les lignes d'une feuille en colonne A qui ne commencent pas par Nom de Bloc: ni par Visibilité: ni par...j'ai plusieurs autre cas.

plus je cherche, plus je m'enfonce... je chercher avec left, ca me semblé logique...je ne doit pas l'être

Sub nettoyer()
Application.ScreenUpdating = False
DerLig = Range("A65536").End(xlUp).Row
For Ligne = 1 To DerLig
If Left(Range("A" & Ligne), 12) <> "Nom du bloc:" Then
Range("A" & Ligne).Select
Selection.EntireRow.Delete
Application.ScreenUpdating = True
End If
Next
End Sub

En gros je cherche a nettoyer ça tout en gardant quelque ligne :

REFERENCE DE BLOC Calque: "E-Electrique"

Espace: Espace objet

Maintien = a37b6

Nom du bloc: "PC Mono"

Nom anonyme: "*U2371"

en point, X= -44736.1 Y= 6132.9 Z= 0.0

Facteur d'échelle X: 1.0

Facteur d'échelle Y: 1.0

Angle de rotation: 0

Facteur d'échelle Z: 1.0

UnitésIns: Millimètres

Conversion d'unités: 1.0

Mettre à l'échelle uniformément: Oui

Autoriser la décomposition: Oui

Visibilité: Clim

C'est un export d'autocad, pour certain objet j'ai d'autre ligne a garder.

Merci d'avance

Harissa23

Recherches récentes

couleur ongletgestiongestion stockgestion paienom ongletonglettrie automatiqueformulaire imagecellulleliste deroulanteincrementerpmujason pmujasonauto openimageimpression imageimpression image deformeeimpressionsupprimer doublons