Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Autres Mot automatique

Moreno076

XLDnaute Impliqué
Bonsoir à tous,

Dans le tableau ci-joint je souhaiterais que lorsque je saisie dans les colonnes F I M P T W la lettre V ca marque automatiquement Vienne, HR > hotel rouge etc, bref qu'avec une ou deux lettres ca me mette automatiquement un mot. Est-ce possible?

Merci pour votre aide.
 

Pièces jointes

  • Copie de Heures (1).xlsx
    20.7 KB · Affichages: 8

sylvanu

XLDnaute Barbatruc
Supporter XLD
Bonjour Moreno,
Un essai en PJ avec cette macro :
VB:
Sub Worksheet_Change(ByVal Target As Range)
On Error GoTo Fin: If Target.Count > 1 Then Exit Sub
    If Not Intersect(Target, Range("F3:F1000,M3:M1000,T3:T1000")) Is Nothing Then
        If Target = "" Then Exit Sub
        Dim Lieux, i%
        Lieux = Array("V", "Vienne", "HR", "Hotel Rouge")   ' A enrichir avec Abbrev,Nom désiré
        For i = 0 To UBound(Lieux) Step 2
            If LCase(Target) = LCase(Lieux(i)) Then Target = Lieux(i + 1): Exit Sub
        Next i
    End If
Fin:
End Sub
 

Pièces jointes

  • Copie de Heures (1).xlsm
    32.6 KB · Affichages: 2

Moreno076

XLDnaute Impliqué
Bonsoir Sylvanu. J'utilise google sheet et ca n'a pas l'air de fonctionner il reconnait pas les macros. J'ai essayé de créer une macro puis la modifier en faisant un copier/coller et ca me met Erreur de syntaxe : SyntaxError: Unexpected identifier 'Worksheet_Change' (ligne : 2, fichier : macros.gs) je ne sais pas comment faire. Merci à toi.
 

Franc58

XLDnaute Occasionnel
Bonsoir, dans Google Sheets tu peux utiliser des scripts Javascript.
Quand tu es sur ta feuille, clique sur Extensions puis Editeur de scripts.
Ajoute le script suivant :

JavaScript:
function onEdit(e) {
  var range = e.range;
  var column = range.getColumn();
  var columnsToCheck = [6, 9, 13, 16, 20, 23]; // Columns F, I, M, P, T, W

  if (columnsToCheck.includes(column)) {
    if (range.getValue() == "V") {
      range.setValue("Vienne");
    } else if (range.getValue() == "HR") {
      range.setValue("Hotel Rouge");
    }
  }
}

Ajoute autant de "else if" que nécessaire pour ajouter des conditions. Le code est exécuté sur les serveurs de Google, il y a donc un délai entre l'encodage dans la cellule et l'exécution du script.
Appuie sur l'icône disquette pour sauvegarder le script.
 

Moreno076

XLDnaute Impliqué
Bonsoir Franc58, je viens d'essayer mais j'ai du mal faire quelque chose ? Ci-joint fichiers Merci
 

Pièces jointes

  • Copie de Heures (1) (1).xlsx
    20.7 KB · Affichages: 1
  • Capture d'écran 2024-01-14 203940.jpg
    30.3 KB · Affichages: 6

Franc58

XLDnaute Occasionnel
Bonsoir Franc58, je viens d'essayer mais j'ai du mal faire quelque chose ? Ci-joint fichiers Merci
Quand tu es sur ta feuille Google Sheets, tu cliques sur le menu "Extension" puis sur "Apps script" et dans la fenêtre qui apparaît, tu colles le script que je t'ai donné, ensuite tu cliques sur l'icône disquette pour sauvegarder le script. J'ai testé et cela fonctionne parfaitement. Quelque chose m'échappe, tu dis travailler sur Google Sheets et tu m'envoies un fichier .xlsx ?
 

Moreno076

XLDnaute Impliqué
Oui je n'arrive pas à envoyer les fichiers google sheet. Ca refuse l'extension google sheet. Ci-joint capture pour le script rentré. Cdlt
 

Pièces jointes

  • CAPTURE.jpg
    58 KB · Affichages: 3

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…