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

Resuelto
Cocopsl -  
 Cocopsl -
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. jordane45 Mensajes publicados 30427 Fecha de registro   Estado Moderador Última intervención   4 833
     
    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
  2. Cocopsl
     
    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
  3. Cocopsl
     
    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. jordane45 Mensajes publicados 30427 Fecha de registro   Estado Moderador Última intervención   4 833
       
      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
  4. Cocopsl
     
    ups ... efectivamente, debería haberlo hecho
    Lo tengo en cuenta para la próxima vez.

    Gracias por tu comentario.
    0