Regrouper des mots

re,

Si un pro passe..... 😕 Ha bon, tu n'es pas pro ?

tu as de la chance 13 secondes c'est ultra rapide le mien il a mis 4,30 minutes 19534 lignes.

je vais essayer ce nouveau code...

Quand on a une cellule vide, on peut supprimer la ligne de façon à avoir 5 colonnes remplies.

Quel code je dois ajouter pour supprimer la ligne au lieu de laissé une case vide ?

merci

j'aurais besoin d'une autre petite macro

on saisi le mot en français et j'ai l'équivalence sur une ligne avec les 4 langues

@ bientĂŽt

Bonsoir 


Comme xorsankukai (salut ) j’utilise autant que faire ce peut les tableaux structurĂ©s. Les as-tu bien dĂ©finis ? Ci-dessous tu as une petite explication imagĂ©e.

tableau s

Dans le fichier joint, je donne une autre façon de procĂ©der mais, comme toujours, ce n’est qu’un exemple avec le contexte choisi ! Ce sera Ă  chaque fois une autre histoire avec un autre contexte !

Á l’activation de l’onglet de regroupement [TR] :

Private Sub Worksheet_Activate()
    If Application.CountA([TR]) > 0 Then [TR].Delete
    Application.ScreenUpdating = 0
    [ç1].Copy [TR].Item(1, 1) 'FRANÇAIS et ALLEMAND
    [ç2].Columns(2).Copy [TR].Item(1, 3) 'ITALIEN
    [ç3].Columns(2).Copy [TR].Item(1, 4) 'ANGLAI
    [ç4].Columns(2).Copy [TR].Item(1, 5) 'ESPAGNOL
End Sub 

Nota : je reste fidĂšle au langage de base (classe Range)

Remarque : « Le silence est la vertu des sots ! ». Bacon ne devait pas fréquenter beaucoup de monde pour affirmer cela. Beaucoup devraient se taire plutÎt que de proférer des sottises !

Je préfÚre la citation de P. Dac : « Si les points de suspension pouvaient parler, ils pourraient en dire des choses et des choses ! »

Oups, j'oublais : il suffit de copier tes listes dans les tableaux correspondants et 19 999 lignes ne devraient pas poser de problĂšme.

Re,


Bonjour Ordonc,

Je crois que je me suis compliquĂ© la vie, je suis partie du principe que la liste des mots en français pouvait diffĂ©rer d'une feuille Ă  l'autre oĂč ne pas ĂȘtre dans le mĂȘme ordre, d'oĂč la boucle sur toute les feuilles et l'utilisation du dico pour supprimer les doublons.

Mais cela implique ensuite une recherche de correspondance sur toutes les feuilles (13 000 lignes ...).


@Geoffroy :

Et non, je ne suis pas un pro, j'apprends Ă  l'aide du forum et du partage de ses membres,

on saisi le mot en français et j'ai l'équivalence sur une ligne avec les 4 langues

image
Private Sub Worksheet_Change(ByVal Target As Range)
 If Not Application.Intersect(Target, Range("A2")) Is Nothing Then
  cancel = True
   Range("B2") = IIf(IsError(Application.VLookup(Target, Sheets("ESPAGNOL").ListObjects("tbEspagnol").DataBodyRange, 2, False)), "", Application.VLookup(Target, Sheets("ESPAGNOL").ListObjects("tbEspagnol").DataBodyRange, 2, False))
   Range("C2") = IIf(IsError(Application.VLookup(Target, Sheets("ITALIEN").ListObjects("tbItalien").DataBodyRange, 2, False)), "", Application.VLookup(Target, Sheets("Italien").ListObjects("tbItalien").DataBodyRange, 2, False))
   Range("D2") = IIf(IsError(Application.VLookup(Target, Sheets("ANGLAIS").ListObjects("tbAnglais").DataBodyRange, 2, False)), "", Application.VLookup(Target, Sheets("ANGLAIS").ListObjects("tbAnglais").DataBodyRange, 2, False))
   Range("E2") = IIf(IsError(Application.VLookup(Target, Sheets("ALLEMAND").ListObjects("tbAllemand").DataBodyRange, 2, False)), "", Application.VLookup(Target, Sheets("ALLEMAND").ListObjects("tbAllemand").DataBodyRange, 2, False))
 End If
End Sub

On peut par ailleurs se passer de VBA....

  • =SIERREUR(RECHERCHEV($A$2;tbEspagnol;2;FAUX);"")
  • =SIERREUR(RECHERCHEV($A$2;tbItalien;2;FAUX);"")
  • =SIERREUR(RECHERCHEV($A$2;tbAnglais;2;FAUX);"")
  • =SIERREUR(RECHERCHEV($A$2;tbAllemand;2;FAUX);"")

Cordialement,

Bonjour,

Et bien chapeau monsieur, vous ĂȘtes douĂ©

Je vais essayer tous ces codes super intéressants

Merci Ă  vous deux Ordonc et xorsankukai

@bientĂŽt

@Ordonc,

BRAVO! 6 lignes et Ultra rapide

Respect

@ BientĂŽt

Re 


Merci pour ton retour.

A toutes fin utiles, simple remarque : quand on se retrouve avec une grande quantitĂ© de formules, la durĂ©e de leur mise Ă  jour peut s’allonger grandement mais en VBA on peut Ă©viter cela.

En gĂ©nĂ©ral (en fonction du contexte), quand j’ai une ligne du type R.Formula
 =
 voire = Application.WorsheetFunction 
, je la fais suivre de R = R.Value pour Ă©viter les recalculs gourmands en minutes.

Sans VBA, je peux aussi passer par un Copier (Ctrl C) suivi d’un Coller les Valeurs (pas Ctrl V) mais moins pratique avec des formules Ă©parpillĂ©es parmi lesquelles il est plus intĂ©ressant de les garder telles quelles.

@ xorsankukai

Bonjour et un grand merci pour votre aide,

Ca fonctionne super bien

Mais j'aurais préféré une USF si c'est possible, ci-joint modÚle sur fichier

4traducteur.xlsm (91.08 Ko)

1- On saisie un mot dans l'une des cases:

Français - Allemand - Anglais - Espagnol - Italien

2-On clic sur TRADUIRE Ă  les mots apparaissent dans les cases

Bonne journée

@ Ordonc

" A toutes fin utiles, simple remarque : quand on se retrouve avec une grande quantitĂ© de formules, la durĂ©e de leur mise Ă  jour peut s’allonger grandement mais en VBA on peut Ă©viter cela.

En gĂ©nĂ©ral (en fonction du contexte), quand j’ai une ligne du type R.Formula
 =
 voire = Application.WorsheetFunction 
, je la fais suivre de R = R.Value pour Ă©viter les recalculs gourmands en minutes.

Sans VBA, je peux aussi passer par un Copier (Ctrl C) suivi d’un Coller les Valeurs (pas Ctrl V) mais moins pratique avec des formules Ă©parpillĂ©es parmi lesquelles il est plus intĂ©ressant de les garder telles quelles. "

Excellent, en plus j'ai des explications, trop bien

merci Ă  vous

@bientĂŽt

bonsoir

aprÚs vérification, il mélange des mots

J'ai omis de vous signaler que la colonne "Français" n'est pas la mĂȘme sur les 4 feuilles "Anglais,Italien,Alemand,Espagnol"

tri

je vérifie encore mais des mots ne correspondent pas...c'est mélangé

je vais laisser tomber

merci Ă  vous tous

@bientĂŽt

re,

c'est tout mélangé

j'ai pris les derniĂšres lignes

en rouge traduction erronée

un exemple de ce qu'il trouve pour Zimgabwe ligne au-dessus de la ligne jaune

en jaune j'ai mis la bonne traduction (en anglais le mot Zimgabwe n'y est pas mais il m'a trouvé un mot.

@bientĂŽt

idem
Post supprimé, désolé.

Ca veut dire quoi ?

Et pour quelle raison ?

Rechercher des sujets similaires Ă  "regrouper mots"