VBA para ingresar en una celda si la celda de al lado contiene

Resuelto
Hola,

Me gustaría crear un código VBA que me permita, en una hoja concreta (tengo unas cuantas hojas), en una celda de la columna P escribir "PAPA" SI en la celda de la izquierda en la misma fila (columna O) hay "MAMAN" y así sucesivamente en cada fila.

A pesar de varias pruebas, no funciona.

Le agradezco su ayuda.

4 respuestas

  1. Moderador
    Hola,

    ¿Cómo activas esta macro? ¿Al modificar la celda de la izquierda? ¿ o hay un botón para ejecutarla?

    Luego... dices que lo intentaste... muy bien... muéstranos lo que hiciste, y ahí, alguien podrá ayudarte a corregir tu código.

    NB: para publicar código en el foro debes usar las etiquetas de código.
    Las explicaciones (¡a leer COMPLETAMENTE!) están disponibles aquí: https://codes-sources.commentcamarche.net/faq/11288-poster-un-extrait-de-code

    NB²: También puedes aportarnos un archivo de ejemplo cargándolo, por ejemplo, en cijoint
    https://www.commentcamarche.net/faq/29493-utiliser-cjoint-pour-heberger-des-fichiers

    --
    .
    Cordialement,
    Jordane
    0
    1. Hola,

      lo activaré con un botón.

      El código que he probado proviene de una búsqueda en la red y aparentemente no es adecuado para mi necesidad.
      Si es imprescindible, lo pondré.
      0
      1. Hola,

        Aquí está la macro que he escrito (probablemente demasiado simple):

        Sub Macro1()

        Range("O5:P30").Select

        If Range("O") = "Accueil " > 0 Then
        cel.Offset(1, 1).Value = " 1_ Accueil"
        End If

        End Sub

        Quiero que en mi columna O, cuando haya "Accueil" en una celda, en la celda contigua se imprima la palabra "1_Accueil".

        Gracias por vuestra ayuda.

        Cocopsl
        0
        1. Moderador
          Bueno... ya... te había indicado que: para publicar código en el foro deberás usar las etiquetas de código.
          Explicaciones (¡a leer ENTERA!) disponibles aquí: https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code

          Luego, hay que BUCLEAR sobre cada celda de tu columna “o”
          por ejemplo
           For i = 1 To 100 If Cells(i, 15).Value = "Accueil" Then Cells(i, 16).Value = "1_ Accueil" End If Next 


          Nota: eso sólo funcionará si tus celdas en la columna O contienen SOLAMENTE la palabra "Accueil"
          0
      2. ups ... efectivamente, debería haberlo hecho
        Lo tengo en cuenta para la próxima vez.

        Gracias por tu comentario.
        0