Remplacer une valeur à partir d'une cellule adjacente

Fermé
bambooetugo Messages postés 14 Date d'inscription jeudi 30 mai 2013 Statut Membre Dernière intervention 29 septembre 2016 - 28 sept. 2016 à 16:15
ccm81 Messages postés 10903 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 19 novembre 2024 - 29 sept. 2016 à 14:53
Bonjour à tous,

Je souhaiterais remplacer la valeur de la colonne H si la valeur de la colonne A contient "-2" , "-3", "-4", "-5", "-6" ou "-7".

Cette règle devrait s'exécuter à partir de la ligne 7, le document n'aura pas toujours le même nombre de ligne.

Merci pour votre aide.
A voir également:

13 réponses

ccm81 Messages postés 10903 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 19 novembre 2024 2 428
28 sept. 2016 à 17:09
Bonjour


Peux tu envoyer un bout de ton fichier, sur cjoint.com et joindre le lien obtenu à ton prochain message. N'oublies pas d'y ajouter des explications et des exemples de résultat attendu

1) Tu vas dans https://www.cjoint.com/
2) Tu cliques sur [Parcourir] pour sélectionner ton fichier
3) Tu descends en bas de la page pour cliquer sur [Créer le lien Cjoint]
4) Au bout de quelques secondes la deuxième page s'affiche, avec le lien
en bleu souligné ; tu le sélectionnes et tu fais "Copier"
5) Tu reviens dans ta discussion sur CCM, et dans ton message de réponse
tu fais "Coller".

Cdlmnt
0
Utilisateur anonyme
28 sept. 2016 à 18:03
Bonjour bambooetugo et ccm81,

Il manque un renseignement important !

De la ligne 7 à la dernière ligne n, si la valeur de la colonne A
est entre -2 et -7 inclus : remplacer la valeur de la colonne H
par quoi ?

Cordialement.  😊
 
0
bambooetugo Messages postés 14 Date d'inscription jeudi 30 mai 2013 Statut Membre Dernière intervention 29 septembre 2016
29 sept. 2016 à 08:17
Merci pour vos réponses.

Quelques précisions :

1 - Je veux remplacer la valeur de la colonne H par NA. (Soit dans l'exemple sur les lignes 8-14 et 15
2 - A partir de la ligne 7, le nombre de ligne est variable

https://www.cjoint.com/c/FIDgmJjjJsn

Merci pour votre aide.
0
Fahora Messages postés 814 Date d'inscription jeudi 24 septembre 2015 Statut Membre Dernière intervention 2 janvier 2023 68
Modifié par Fahora le 29/09/2016 à 08:54
Bonjour ,

comment détermines-tu la valeur de la colonne H ?

Important, si cette valeur est détermine aléatoirement (c à d s'il n'y a pas de logique dans cette valeur), il faudra certainement passer par VBA ou faire une formule pour chaque ligne

Cordialement,

Nos seules limites sont celles que nous nous imposons nous-même.
La politesse et un merci ne tuent pas. Il existe un bouton pour "Résolu" pour confirmer que     votre problème n'en est plus un. Fahora
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
bambooetugo Messages postés 14 Date d'inscription jeudi 30 mai 2013 Statut Membre Dernière intervention 29 septembre 2016
29 sept. 2016 à 08:56
Bonjour Fahora,

La valeur de la colonne H dépends de l'information de la colonne A:
(colonne A contient "-2" , "-3", "-4", "-5", "-6" ou "-7".)

En effet je souhaite passer par une Macro.

Merci pour votre aide
0
Fahora Messages postés 814 Date d'inscription jeudi 24 septembre 2015 Statut Membre Dernière intervention 2 janvier 2023 68
29 sept. 2016 à 09:00
Avec tout le respect que je te dois , tu ne réponds pas à ma question. Actuellement, dans ta colonne H , il y a CU10/CU12 ou CU38, comment sont déterminés ces valeurs ?
0
bambooetugo Messages postés 14 Date d'inscription jeudi 30 mai 2013 Statut Membre Dernière intervention 29 septembre 2016
29 sept. 2016 à 09:30
Dsl je parlais de la colonne I et non de la H

Je souhaite simplement que pour chaque ligne de la colonne A avec indice supplémentaire (-2,-3....) il remplace la valeur de la colonne I par "NA".

Merci
0
Fahora Messages postés 814 Date d'inscription jeudi 24 septembre 2015 Statut Membre Dernière intervention 2 janvier 2023 68
29 sept. 2016 à 09:33
Même question :) . Comment sont déterminés les valeurs de ta colonne I ? (Nbr de caisses)
0
bambooetugo Messages postés 14 Date d'inscription jeudi 30 mai 2013 Statut Membre Dernière intervention 29 septembre 2016
29 sept. 2016 à 09:58
Par un colisage (ce tableau est extrait d'une application)

Le nombre a peu d'importance pour le sujet.
0
 
Bonjour bambooetugo et Fahora,

Peut-être que cette formule (à adapter) pourra aller :
=SI(LIGNE()<7;"";SI(ET(A1>=-7;A1<=-2);NA();I1))

Formule à mettre en B1 (par exemple), et à tirer vers le bas.

Cordialement.  😊


PS : Désolé, pas le temps de voir le fichier joint !
 
0
bambooetugo Messages postés 14 Date d'inscription jeudi 30 mai 2013 Statut Membre Dernière intervention 29 septembre 2016
29 sept. 2016 à 11:37
Merci Albkan, mais cela ne semble pas être la solution.

Est il possible d'intégrer cette formule dans une Macro.
0
ccm81 Messages postés 10903 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 19 novembre 2024 2 428
29 sept. 2016 à 11:44
Avec une macro
http://www.cjoint.com/c/FIDjShdktoq

Cdlmnt
0
bambooetugo Messages postés 14 Date d'inscription jeudi 30 mai 2013 Statut Membre Dernière intervention 29 septembre 2016
29 sept. 2016 à 13:13
Merci ccm81 ce code fonctionne comme je le souhaite,

Je rencontre des difficulté pour exécuter l'ensemble de mes commandes.

Comment intégrer ce code sur une macro existante ?

Merci pour ton aide
0
ccm81 Messages postés 10903 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 19 novembre 2024 2 428
Modifié par ccm81 le 29/09/2016 à 14:10
Pourquoi veux tu l'intégrer à une macro existante.
Tu peux simplement faire un appel à elle dans ta macro :
Sub ta_macro()
....

Call OK
...
End Sub

N'oublies pas les constantes en début de code qui dépendent de ta configuration (colonnes concernées et premiere ligne à traiter)
0
bambooetugo Messages postés 14 Date d'inscription jeudi 30 mai 2013 Statut Membre Dernière intervention 29 septembre 2016
29 sept. 2016 à 14:43
CCm81,

J'ai essayé de l'insérer dans ma Macro (qui exécute de la mise en page et récupère des données d'une autre feuille Excel).


Voici Mon Code : (à l'exécution : Erreur de compilation)

Attention aux Yeux !!

Sub PlanningCOLLAGE()
'

' Ordre des feuilles/ ordre des colleuses

Windows("Planning Collage.XLS").Activate

Sheets("BOBST ALPINA 75").Select
Sheets("BOBST ALPINA 75").Move Before:=Sheets(1)
Sheets("BOBST EXPERFOLD 80").Select
Sheets("BOBST EXPERFOLD 80").Move Before:=Sheets(2)
Sheets("BOBST MEDIA 45 VERSION 2").Select
Sheets("BOBST MEDIA 45 VERSION 2").Move Before:=Sheets(3)
Sheets("BOBST MEDIA 45").Select
Sheets("BOBST MEDIA 45").Move Before:=Sheets(3)

Call OK

Call PlanningCOLLAGE2

End Sub

Option Explicit

Const cotest = "A"
Const coremp = "I"
Const lideb = 7

Public Sub OK()

' supprime la valeur "Caisses" en double (Appels)

Dim li As Long, lifin As Long, s As String, rt As Long, dc As Long
Application.ScreenUpdating = False
lifin = Range(cotest & Rows.Count).End(xlUp).Row
For li = lideb To lifin
s = Range(cotest & li).Value
rt = InStr(1, s, "-")
If rt > 0 Then
dc = Right(s, 1)
If dc >= 2 And dc <= 7 Then
Range(coremp & li).NumberFormat = "General"
Range(coremp & li).Formula = "=NA()"
End If
End If
Next li
Application.ScreenUpdating = True
End Sub

Sub PlanningCOLLAGE2()


'Mise en Page

Sheets("BOBST ALPINA 75").Activate
With Selection
.HorizontalAlignment = xlGeneral
.VerticalAlignment = xlCenter
.WrapText = False
.Orientation = 0
.AddIndent = False
.IndentLevel = 0
.ShrinkToFit = False
.ReadingOrder = xlContext
.MergeCells = True
End With
Selection.UnMerge
Range("A2:L2").Select
Selection.ClearContents
Range("A3:L3").Select
With Selection
.HorizontalAlignment = xlGeneral
.VerticalAlignment = xlCenter
.WrapText = False
.Orientation = 0
.AddIndent = False
.IndentLevel = 0
.ShrinkToFit = False
.ReadingOrder = xlContext
.MergeCells = True
End With
Selection.UnMerge
Range("A4").Select

Range("J5:K5").Select
With Selection
.HorizontalAlignment = xlGeneral
.VerticalAlignment = xlCenter
.WrapText = True
.Orientation = 0
.AddIndent = False
.IndentLevel = 0
.ShrinkToFit = False
.ReadingOrder = xlContext
.MergeCells = True
End With
Selection.UnMerge

Columns("J:J").Select
Selection.Insert Shift:=xlToRight, CopyOrigin:=xlFormatFromLeftOrAbove

Range("J5:J6").Select
With Selection
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlCenter
.WrapText = True
.Orientation = 0
.AddIndent = False
.IndentLevel = 0
.ShrinkToFit = False
.ReadingOrder = xlContext
.MergeCells = False
End With
Selection.Merge
ActiveCell.FormulaR1C1 = "Objectif Vitesse"
Range("K5:L5").Select
With Selection
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlCenter
.WrapText = True
.Orientation = 0
.AddIndent = False
.IndentLevel = 0
.ShrinkToFit = False
.ReadingOrder = xlContext
.MergeCells = False
End With
Selection.Merge
Range("A5:A6").Select
With Selection.Interior
.Pattern = xlSolid
.PatternColorIndex = xlAutomatic
.ThemeColor = xlThemeColorDark1
.TintAndShade = -0.349986266670736
.PatternTintAndShade = 0
End With
With Selection.Font
.Name = "Calibri"
.Size = 16
.Strikethrough = False
.Superscript = False
.Subscript = False
.OutlineFont = False
.Shadow = False
.Underline = xlUnderlineStyleNone
.ThemeColor = xlThemeColorLight1
.TintAndShade = 0
.ThemeFont = xlThemeFontMinor
End With
Selection.Font.Bold = True
Range("B5:B6").Select
With Selection.Interior
.Pattern = xlSolid
.PatternColorIndex = xlAutomatic
.ThemeColor = xlThemeColorDark1
.TintAndShade = -0.349986266670736
.PatternTintAndShade = 0
End With
With Selection.Font
.Name = "Calibri"
.Size = 16
.Strikethrough = False
.Superscript = False
.Subscript = False
.OutlineFont = False
.Shadow = False
.Underline = xlUnderlineStyleNone
.ThemeColor = xlThemeColorLight1
.TintAndShade = 0
.ThemeFont = xlThemeFontMinor
End With
Selection.Font.Bold = True
Range("C5:C6").Select
With Selection.Font
.Name = "Calibri"
.Size = 16
.Strikethrough = False
.Superscript = False
.Subscript = False
.OutlineFont = False
.Shadow = False
.Underline = xlUnderlineStyleNone
.ThemeColor = xlThemeColorLight1
.TintAndShade = 0
.ThemeFont = xlThemeFontMinor
End With
Selection.Font.Bold = True
With Selection.Interior
.Pattern = xlSolid
.PatternColorIndex = xlAutomatic
.ThemeColor = xlThemeColorDark1
.TintAndShade = -0.349986266670736
.PatternTintAndShade = 0
End With
Range("D5:D6").Select
With Selection.Interior
.Pattern = xlSolid
.PatternColorIndex = xlAutomatic
.ThemeColor = xlThemeColorDark1
.TintAndShade = -0.349986266670736
.PatternTintAndShade = 0
End With
Selection.Font.Bold = True
With Selection.Font
.Name = "Calibri"
.Size = 16
.Strikethrough = False
.Superscript = False
.Subscript = False
.OutlineFont = False
.Shadow = False
.Underline = xlUnderlineStyleNone
.TintAndShade = 0
.ThemeFont = xlThemeFontMinor
End With
Range("E5:E6").Select
ActiveCell.FormulaR1C1 = "Quantité"
Range("E5:E6").Select
Selection.Font.Bold = True
With Selection.Font
.Name = "Calibri"
.Size = 16
.Strikethrough = False
.Superscript = False
.Subscript = False
.OutlineFont = False
.Shadow = False
.Underline = xlUnderlineStyleNone
.TintAndShade = 0
.ThemeFont = xlThemeFontMinor
End With
With Selection.Interior
.Pattern = xlSolid
.PatternColorIndex = xlAutomatic
.ThemeColor = xlThemeColorDark1
.TintAndShade = -0.349986266670736
.PatternTintAndShade = 0
End With
Range("F5:F6").Select
With Selection.Interior
.Pattern = xlSolid
.PatternColorIndex = xlAutomatic
.ThemeColor = xlThemeColorDark1
.TintAndShade = -0.349986266670736
.PatternTintAndShade = 0
End With
Selection.Font.Bold = True
With Selection.Font
.Name = "Calibri"
.Size = 16
.Strikethrough = False
.Superscript = False
.Subscript = False
.OutlineFont = False
.Shadow = False
.Underline = xlUnderlineStyleNone
.TintAndShade = 0
.ThemeFont = xlThemeFontMinor
End With
Range("G5:G6").Select
Selection.Font.Bold = True
With Selection.Interior
.Pattern = xlSolid
.PatternColorIndex = xlAutomatic
.ThemeColor = xlThemeColorDark1
.TintAndShade = -0.349986266670736
.PatternTintAndShade = 0
End With
With Selection.Font
.Name = "Calibri"
.Size = 16
.Strikethrough = False
.Superscript = False
.Subscript = False
.OutlineFont = False
.Shadow = False
.Underline = xlUnderlineStyleNone
.TintAndShade = 0
.ThemeFont = xlThemeFontMinor
End With
Range("H5:H6").Select
With Selection.Interior
.Pattern = xlSolid
.PatternColorIndex = xlAutomatic
.ThemeColor = xlThemeColorDark1
.TintAndShade = -0.349986266670736
.PatternTintAndShade = 0
End With
With Selection.Font
.Name = "Calibri"
.Size = 16
.Strikethrough = False
.Superscript = False
.Subscript = False
.OutlineFont = False
.Shadow = False
.Underline = xlUnderlineStyleNone
.ThemeColor = xlThemeColorLight1
.TintAndShade = 0
.ThemeFont = xlThemeFontMinor
End With
Selection.Font.Bold = True
Range("I5:I6").Select
With Selection.Interior
.Pattern = xlSolid
.PatternColorIndex = xlAutomatic
.ThemeColor = xlThemeColorDark1
.TintAndShade = -0.349986266670736
.PatternTintAndShade = 0
End With
With Selection.Font
.Name = "Calibri"
.Size = 12
.Strikethrough = False
.Superscript = False
.Subscript = False
.OutlineFont = False
.Shadow = False
.Underline = xlUnderlineStyleNone
.ThemeColor = xlThemeColorLight1
.TintAndShade = 0
.ThemeFont = xlThemeFontMinor
End With
Selection.Font.Bold = True
Range("J5:J6").Select
Selection.Font.Bold = True
With Selection.Font
.Name = "Calibri"
.Size = 16
.Strikethrough = False
.Superscript = False
.Subscript = False
.OutlineFont = False
.Shadow = False
.Underline = xlUnderlineStyleNone
.TintAndShade = 0
.ThemeFont = xlThemeFontMinor
End With
With Selection.Interior
.Pattern = xlSolid
.PatternColorIndex = xlAutomatic
.ThemeColor = xlThemeColorDark1
.TintAndShade = -0.349986266670736
.PatternTintAndShade = 0
End With
Range("K5:L5").Select
With Selection.Interior
.Pattern = xlSolid
.PatternColorIndex = xlAutomatic
.ThemeColor = xlThemeColorDark1
.TintAndShade = -0.349986266670736
.PatternTintAndShade = 0
End With
Selection.Font.Bold = True
With Selection.Font
.Name = "Calibri"
.Size = 16
.Strikethrough = False
.Superscript = False
.Subscript = False
.OutlineFont = False
.Shadow = False
.Underline = xlUnderlineStyleNone
.TintAndShade = 0
.ThemeFont = xlThemeFontMinor
End With
Range("K6").Select
With Selection.Interior
.Pattern = xlSolid
.PatternColorIndex = xlAutomatic
.ThemeColor = xlThemeColorDark1
.TintAndShade = -0.349986266670736
.PatternTintAndShade = 0
End With
Selection.Font.Bold = True
With Selection.Font
.Name = "Calibri"
.Size = 16
.Strikethrough = False
.Superscript = False
.Subscript = False
.OutlineFont = False
.Shadow = False
.Underline = xlUnderlineStyleNone
.ThemeColor = xlThemeColorLight1
.TintAndShade = 0
.ThemeFont = xlThemeFontMinor
End With
Range("L6").Select
With Selection.Font
.Name = "Calibri"
.Size = 16
.Strikethrough = False
.Superscript = False
.Subscript = False
.OutlineFont = False
.Shadow = False
.Underline = xlUnderlineStyleNone
.ThemeColor = xlThemeColorLight1
.TintAndShade = 0
.ThemeFont = xlThemeFontMinor
End With
Selection.Font.Bold = True
With Selection.Interior
.Pattern = xlSolid
.PatternColorIndex = xlAutomatic
.ThemeColor = xlThemeColorDark1
.TintAndShade = -0.349986266670736
.PatternTintAndShade = 0
End With
Range("M5:M6").Select
With Selection.Interior
.Pattern = xlSolid
.PatternColorIndex = xlAutomatic
.ThemeColor = xlThemeColorDark1
.TintAndShade = -0.349986266670736
.PatternTintAndShade = 0
End With
Selection.Font.Bold = True
With Selection.Font
.Name = "Calibri"
.Size = 16
.Strikethrough = False
.Superscript = False
.Subscript = False
.OutlineFont = False
.Shadow = False
.Underline = xlUnderlineStyleNone
.TintAndShade = 0
.ThemeFont = xlThemeFontMinor
End With

Columns("B:B").ColumnWidth = 42.57
Columns("C:C").ColumnWidth = 36.43
Columns("D:D").ColumnWidth = 20.57
Columns("E:E").ColumnWidth = 11.86
Columns("J:J").ColumnWidth = 14.86
Columns("L:L").ColumnWidth = 6.43
Range("A1").Select


End Sub
0
Fahora Messages postés 814 Date d'inscription jeudi 24 septembre 2015 Statut Membre Dernière intervention 2 janvier 2023 68
Modifié par Fahora le 29/09/2016 à 14:46
Pour plus de clarté , il existe des balises que tu peux utiliser pour inscrire ton code :

Rajoute < code basic> avant et < /code> après. sans les 2 espaces avec le "<"

Cordialement,
0
ccm81 Messages postés 10903 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 19 novembre 2024 2 428
29 sept. 2016 à 14:53
Ouf !!!!
Pas tout lu mais, essaies déjà ceci
1. supprimes cete ligne
Option Explicit
2. mets ces trois lignes dans la procedure OK
Const cotest = "A"
Const coremp = "I"
Const lideb = 7
comme ceci
Public Sub OK
Const cotest = "A"
Const coremp = "I"
Const lideb = 7
Dim .....
etc ...
End Sub ' de OK

Bon courage
0